私は、このテーブルを持っている:テーブルを縦に分割する必要がありますか?
- 〜20万行(多少増えるかもしれません)最初の20列がで使用されている
私の質問は、1:1の関係を持つ別個のテーブルとしてこれらを分けてパフォーマンス上の利点があるかどうかです(または実際上の/弱点です)。列には、日付、整数、および短い文字列が混在しています。 Azure SQLとORMを使って実行します。
私は、このテーブルを持っている:テーブルを縦に分割する必要がありますか?
私の質問は、1:1の関係を持つ別個のテーブルとしてこれらを分けてパフォーマンス上の利点があるかどうかです(または実際上の/弱点です)。列には、日付、整数、および短い文字列が混在しています。 Azure SQLとORMを使って実行します。
ストレージエンジンのperspactiveから、テーブルを分割すると、メインテーブルの行が小さくなり、単一ページの行数が増え、1回の読み込みでより多くのデータが得られ、おそらくは結果としてより良いパフォーマンスが得られます。 しかし、大部分のクエリがサブテーブルに参加するかどうかによって大きく異なります。 もちろん両方の方法をテストし、スパース列の機能(https://msdn.microsoft.com/en-us/library/cc280604.aspx)も考慮する必要があります。
入力に感謝し、SPARSEを認識しませんでした。病気のように見えるいくつかのテストを行う必要があります – BobbyTables
これは問題ではないようです。あなたはそれを監視/プロファイルしましたか?特定の問題が発生していますか? – Tanner
返信ありがとう、私は数字を見ていない、私は再構成の機会を持っているので、私はDB技術を交換しています。それは早すぎる最適化と呼ばれるものもあります... – BobbyTables