6

OLAP環境のいくつかの非常に大きなテーブルでいくつかの集計クエリを実行しています。現在、200 MB/sのディスクIOでボトルネックになっています。

これらのクエリは、92GBのRAMを搭載したマシンで実行しています。基本的に、実行前にテーブル全体をRAMにロードするようにSQLに指示するSQLヒントをクエリに書き込むことができますか?

何かのようなもの:

(ramdisk)を使用してmyTableから*を選択します

MSTSQLを使用しています。

4

1 に答える 1

3

いいえ。データベースエンジンは、ページキャッシュに十分なスペースがある場合、これを自動的に実行します。

SQL Server Management Studioを使用して、使用するメモリの量を設定できます。サーバーを右クリックし、メモリオプションを選択して、[最小サーバーメモリ]ボックスに大きな数値を入力します。92ギガバイトのRAMがある場合は、85,000のような数値がおそらく適切です。マシン上のオペレーティングシステムやその他のサービス用に追加のメモリを残す必要があります。

テーブルがメモリに収まると仮定すると、これにより処理が容易になります。それらがメモリに収まらない場合は、別のアプローチを取る必要があるかもしれません。

于 2013-02-26T18:52:15.843 に答える