早いのは何ですか?多くの小さなテーブルまたは大きなテーブルのクエリ

一般に、データベースを使ったプログラミングの方が速い:小さなテーブルを多くクエリするか、大きなテーブルを作成する方が良いでしょうか?

0
そして何?おそらく、保持するのが難しい多くの小さなテーブルの適度に大きなテーブルのインスタンスを照会するほうがよいでしょう
追加された 著者 Paolo,

3 答え

私はテーブルのサイズをあなたの基準とすべきだとは思わない...現代のリレーショナルデータベースは、何百万行もの行から非常に素早く1行を引き出すことができます - それは本当に問題ではありません。

しかし、あなたがするべきことは、意味があるというような方法でテーブルをデザインすることです。 1つのエンティティと1つのエンティティのみを含みます。複数のエンティティを1つのテーブルに混ぜて開始しないでください...

C#アプリケーションのクラスと同様に、データベーステーブルは常に1つの責任(または懸念事項)のみを処理する必要があります。単一のデータに異種のデータを保存しないでください。

0
追加された

一般に、他のすべてが等しい場合、1つのテーブルのクエリは、同じデータを取得するために多くのテーブルをクエリするよりも高速です。

結合は高価です。

0
追加された

私はあなたの質問に客観的な答えがあるとは思っていませんが、問題を説明しない限り(データベース/言語)、決定は複数のシナリオに基づいている可能性があります。

私はXの前のYに答えるつもりです。

レコードが「同じ」タイプのレコードの場合は、複数のテーブルに分割することは推奨されません。

レコードが異なるタイプである可能性がある場合。大きなテーブルには空レコードと空き領域が含まれているため、[データベース正規化]を使用することを強くお勧めします。

あなたの問題に戻ると、

断片化しすぎると、外部キーの参照がパフォーマンスに影響する可能性があります。だからスイートスポットがある。

また、データ結合がPythonなどの言語でアプリケーションレベルで行われている場合、データ連結がデータベース自体で行われた場合に比べてデータ連結が遅くなる可能性があります。最も進んだリレーショナルデータベースで、ネストループをサポートしています。これを達成する。

0
追加された