2017-01-02 17 views
0

私はPHP/LaravelとMySQLのプロジェクトに取り組んでいます。私は約20列のテーブルを持っていますが、ほとんどの場合、いくつかの列は空です...アプリケーションのパフォーマンスは重要です。データベースのサイズは...私のアプリケーションのパフォーマンスに空の列の影響を知りたいです。MySQLデータベースのパフォーマンス

おかげですべてと私の悪いEngilsh

+0

NULL列の影響はほとんどありません。 –

答えて

1

まず、empty/blankデータベース列とNULL値列の間には大きな違いがあります。ほとんどの場合、空の列であると説明したように、NULL値よりも空の値をすべて収容するためにはデータベースがより多くのスペースを必要とするため、パフォーマンスが低下する可能性があります。スペースが増えると、ハードウェアコストが増え、メンテナンスが難しくなり、パフォーマンスが低下します。

データベースが完全にフィールドを無視するNULLに列の種類を設定することをお勧めします。レコードと列の数が多い場合、スペースを少なくして高性能を実現します。

注:これまで説明したように、データの負荷が大きい場合にのみ影響し、レコード数が比較的少ない場合は影響を受けません。

2

のため申し訳ありませんが、これは具体的な答えができない場合がありますので、非常に広範な問題です。しかし、私はこの種の質問が出てくるので、答えを出したいと思っていました。標準的な答えを得ることができます。

一般的に、デザインを考えているときは、「私はそれがうまくいってほしい」というのが最初の質問ではないはずです。最初に良い設計原則(特に初心者として)に従ってデータベースを設計し、性能問題が発生したときに解決する必要があります。次に、経験を積むと、特定の最適化が必要な場合があります。言い換えれば、時期尚早の最適化はすべての悪の根源です。

標準の良いdbデザイン原則は、一般的なケースでは最適化されているデータベースを提供しますが、特定のケースではそうでない可能性があります。事実上すべての場合、この方向に進むことで十分なパフォーマンスを得ることができます。

デザインでは対応できないRDBMSの特定のパフォーマンス上の問題を予測することは非常に難しいため、最初にドアを開いたままにしておき、後で閉じる必要がある場合には、さもなければ間違ったドアを閉め、アプリケーションのパフォーマンスを全体的に損なうでしょう。

これは、問題のデータベースにかかわらず、初心者がパフォーマンスとデザインに関してよくあるアドバイスです。

関連する問題