今日PostgreSQLの事を調べていたら、ナゼだかMS-ACCESSのクエリにおける「実行プラン」を見る方法があったので、覚書として記録しておきます。
実行しているSQLがテーブルスキャンなのか?インデックスは使用されているか?などを見るのによいですね。
今までもORACLEなどでは実行プランを見る事ができるので良かったのですが、ACCESSの場合は試行錯誤したり経験でSQLを組んでいました。
でもこれからは複雑なクエリ(SQL)でもプランを見ながら作れるのでより安心です♪
ではその方法について。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
この方法はレジストリを直接編集するものですので、
それなりの知識が必要です。
また、レジストリの編集を実施した事によってシステムに
影響がある場合もありますので、すべて自己責任のうえで
実施して下さい。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
クエリを実行するPCにて以下のレジストリを編集します。
※キーが無い場合は作成します。
キー:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Debug
以下の値を設定します。
※値が無い場合は文字列値を追加して設定します。
値の名前:JETSHOWPLAN
値のデータ:ON
これでクエリ実行の都度、以下の場所に「showplan.out」というテキストデータが生成されるようになります。
Windows2kの場合:実行時のカレントディレクトリ(らしい)
WindowsXPの場合:ユーザーのマイドキュメント(らしい)
Windows7の場合:C:¥ドライブ直下(たぶん)
「showplan.out」ファイルは、どんどん追記されてゆくようなので肥大化には注意して下さい。
また、ファイル作成などをおこなうので処理が重くなるなどの事も留意して使用されると良いかと思います。