2

クエリのリストを分析して、特定のテーブル/フィールドに対するレポートの依存関係を調べ、データ構造のリファクタリングの影響を文書化しようとしています。

クエリ文字列の入力に基づいて、どのテーブル/フィールドが使用されているかを調べる方法はありますか (SQL Server クエリ パーサーを使用することもできます)。

4

3 に答える 3

1

クエリを発行SET SHOWPLAN_XML ONして実行できます (別のバッチで)。

XMLこれにより、予想される実行計画が返されます。

、、および//ColumnReferenceを含むものを検索できます。@Database@Schema@Table@Column

ただし、オプティマイザーは、ビューを拡張する (使用している場合)、一部のテーブルを最適化する (必要ないと判断した場合) などを決定する可能性があることに注意してください。ただし、これはリファクタリングにも役立つ場合があります。

また、出力を実行SET STATISTICS IO ONして読み取ることもできます。エンジンが使用するテーブルの実際の I/O が表示されます。

于 2012-11-02T09:59:48.807 に答える
1

クエリの実行計画を確認し、その出力を後処理して、探しているものに近づけることができます。

http://msdn.microsoft.com/en-us/library/ms187735(v=sql.105).aspx

SHOWPLAN_ALL T-SQL コマンドの開始点です。

于 2012-11-02T10:05:07.530 に答える