-1

ワークロードを多くの行に垂直に分散すると、ワークロードを多くのテーブルに水平に分割するよりもパフォーマンスが向上しますか?


  • したがって、150,000,000,000 行と 6 列の 1 つのテーブル

table1(item_id,cat_id,note)
NOTE 列には、常に変化する繰り返しのない INT が格納されます。

標準的な方法。

VS

  • 300,000 行と 1,000 列の 5000 個のテーブル。

table1(id,cat_id,item_1,item_2,item_3,...item_999) table2(table1_id,id,cat_id,item_1000,item_1001,item_1002,...item_1998)
...
table5000(table1_id,id,cat_id,item_499000,item_499001 ,item_499002,...item_500000)

列自体は、アイテムが含まれるすべてのカテゴリを定義します。
行は、そのカテゴリのすべてのアイテムを定義します。

上からの注: 交差するセルに配置されます。

どちらが良いですか?なんで?可能であればリンク

  • 複数のテーブルを検索する場合と 1 つのテーブルを検索する場合のパフォーマンスの大幅な遅延はありますか?
4

1 に答える 1