1

ディスク IO キューイング
を利用する方法 これを正確に行う必要がありますが、Microsoft SQL サーバー テーブルで行います。
+100 個のテーブルを含むデータベースがあります。すべてのテーブルのすべてのレコードを読み取る必要があります。
助言がありますか?ベンチマークを実行して数秒間デバッグするコードを書く価値はありますか?
各テーブルがディスク上のどこに存在するかを知ることができれば、本当に素晴らしいことです。
そして、誰かが尋ねるからです: はい、これは私のプログラムのボトルネックです。

4

1 に答える 1

4

その他の答えは、SQL Server には関係ありません。SQL Server は独自の方法で IO を実行します。

ただし、いくつかのポインター:

  • すべてのテーブルにクラスター化インデックスがあることを確認する
  • インデックスの定期的なメンテナンスがある
  • 下に良好なディスクがあることを確認してください(RAIDなど)
  • 重要な場合は、先読み機能に Enterprise エディションを使用してください
  • 十分なRAMがあることを確認してください

これは何を意味するのでしょうか?

  • 単一のワークステーション ディスクで SQL Server Express を使用する場合は、気にしないでください。これを最適化することはできません
  • クラスター化されたインデックスとインデックスのメンテナンスにより、データがディスク上でほぼ連続していることを保証します (その後のデータ変更の影響を受けます)。
  • これにかかる時間のプロキシは、すべてのテーブルで DBCC CHECKDB を実行することです。または ALTER INDEX 再構築。どちらも、すべてのテーブルのすべてのデータをディスクから読み取る必要があります
于 2013-04-22T12:47:59.690 に答える