7

毎日データをロードする SQL Server Standard エディションのデータベースを使用していますSQLBulkInsert。テーブルが大きくなり、インデックス作成の I/O が開始されると、パフォーマンスが低下します (無効化/再構築しても、遅くなります)。

そのため、私に提案された代替案は、毎日のテーブル (またはたとえば最後の 30) のそれぞれを参照するビューを作成することでした。ちょうどのケースであるべきですSELECT * FROM x UNION ALL SELECT * FROM y...

含めることができるテーブルの数、またはビュー定義の長さに制限はありますか?
かつ
データベース内のテーブル数に制限はありますか?

または - これを行うためのより良い方法はありますか (お金をかけずに、または SQL Server Enterprise に移行してパーティション分割されたテーブルを使用します!)

4

2 に答える 2

1

制限については、SQL Server の最大容量仕様を参照してください。

別のオプションとして、分割されたテーブルと分割されたインデックスの使用を検討します。

ここで注意すべき重要なことの 1 つは、

パーティション分割されたテーブルとインデックスのデータは、データベース内の複数のファイル グループに分散できる単位に分割されます。行のグループが個々のパーティションにマップされるように、データは水平に分割されます。

これは基本的に、パーティションをさまざまな論理ファイル グループに分散できることを示しています。これにより、パフォーマンスが大幅に向上するはずです。

于 2013-08-19T05:42:15.977 に答える