データベース開発に重要なSQLチューニングはSQLキャッチからアプリケーションなどから実行されるSQLを、キャッチ・トレースできたら素敵ですよね。Browserでは「SQLキャッチ」機能があるので実現できます。今回は「SQLキャッチ」機能と、そこからSQLチューニングをする方法をご紹介します。SQLServer」を使用しています。Oracle」でも同様に使えますが、SQLServerでも便利な使い方ができるというところをお見せします。★SQLキャッチの開始/停止を行う場合は、データベースのトレース機能を実行できる権限をユーザーに付与しましょう。SQLキャッチはデータベースのトレース機能を使用し、以下の命令を実行しています。そのため、これらを実行できる権限を持つユーザーのみ、SQLキャッチの開始/停止を行うことができます。(なお、結果の表示にはトレースログの参照のみ行うため、この権限は必要ありません。★サーバー側からトレースログをコピーしてきて結果を表示しましょう。SQLキャッチは、結果の表示にサーバー側に出力されるトレースログを参照するため、サーバー側で実行することを前提としています。クライアント側からリモート接続する場合、サーバー側からトレースログをコピーしてくることでも参照できます。(SQLキャッチの開始/停止は、サーバー側とクライアント側で同様に行えます。SQLServerの場合は、トレースログフォルダの指定はサーバー側のフォルダ構成と合わせて指定しましょう。SQLServerの場合は、トレースログフォルダの指定をSQLキャッチ開始時のパラメータとして使用しています。そのため、指定したトレースログフォルダがサーバー側に無いとエラーになります。クライアント側からリモート接続する場合、トレースログフォルダの指定はサーバー側のフォルダ構成と合わせて指定することで、SQLキャッチを開始できます。注意事項をお話してきましたが、ここからSQLキャッチを使っていきましょう。[RELATED_POSTS]SQLキャッチを実行するSQLキャッチ画面からトレースを開始すれば、実行されたSQLを確認することができます。メニューの「ツール」→「SQLキャッチ」で画面を表示します。初回起動時やトレースログフォルダが見つからない場合は、フォルダの指定が促されます。SQLServerのトレースログフォルダを指定しましょう。※今回はサーバー側で実行していますが、リモート接続の場合は上記の注意事項を参照。トレースログフォルダの指定が済んだら、さっそく「開始」しましょう。Browser自身からSQL実行をしてみます。SQLキャッチ画面でトレースできているでしょうか。SQLキャッチ画面で「表示」をクリックしてみます。(トレースを止めたい場合は「停止」)実行したSQLが表示されました。ここで終わりではありません。舞台はSQLチューニングへここから「実行計画」の表示、「SQL文をコピー」、「インデックスアドバイザ」の表示ができるんです。いうことはSQLキャッチから続けてSQLチューニングもできるということです。・でも実際に実行されているSQLの詳細は分からない・・・といったときは、1.SQLキャッチで実際に実行されているSQLを特定する。2.SQL実行画面から実行計画を確認して原因を突き止める。3.インデックスアドバイザで適切なインデックスを確認する。いうアプローチをしてみてはいかがでしょうか。実行計画やインデックスアドバイザの使い方については、また改めて書いていきたいと思います。