「Microsoft SQL Server Profiler は、データベース エンジンまたは Analysis Services のインスタンスを監視するための SQL トレースへのグラフィカル ユーザー インターフェイスです。」
SQL Server Profiler は、開発、テスト、およびデータベース アプリケーションの問題をデバッグする際に非常に便利です。MySql に相当するプログラムがあるかどうか知っている人はいますか?
「Microsoft SQL Server Profiler は、データベース エンジンまたは Analysis Services のインスタンスを監視するための SQL トレースへのグラフィカル ユーザー インターフェイスです。」
SQL Server Profiler は、開発、テスト、およびデータベース アプリケーションの問題をデバッグする際に非常に便利です。MySql に相当するプログラムがあるかどうか知っている人はいますか?
コミュニティ サーバーのバージョン 5.0.37 にある優れた機能は、MySQL の新しいプロファイラーです。
これにより、探している情報が得られる場合があります。
パフォーマンスを監視したいですか、それとも実行中のクエリを確認したいだけですか? 後者の場合、指定されたすべてのクエリをログに記録するように MySQL を構成できます。RedHat Linux ボックスでは、次を追加できます。
log = /var/lib/mysql/query.log
/etc/my.cnf
MySQLを再起動する前に、の[mysqld]セクションに。
ビジーなデータベース シナリオでは、これらのログが非常に大きくなる可能性があることに注意してください。
JET プロファイラーをお試しください。リアルタイムのクエリ パフォーマンスおよび診断ツールです。仕事で使っています。優れたソフトウェアとサポート。 MySQL 用の Jet Profiler を確認する
私の意見では、私はここですべてを生で見つけました....
MySQL 構成ファイル (通常、Ubuntu では /etc/mysql/my.cnf) を見つけて開きます。「ロギングとレプリケーション」というセクションを探します</p>
# * Logging and Replication
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
log = /var/log/mysql/mysql.log
またはmysqlの新しいバージョンでは、このコード行をコメントアウトします
general_log_file = /var/log/mysql/mysql.log
general_log = 1
log_error = /var/log/mysql/error.log
「log」変数のコメントを外すだけで、ログを有効にできます。次のコマンドで MySQL を再起動します: sudo /etc/init.d/mysql restart
これで、受信したクエリの監視を開始する準備が整いました。新しいターミナルを開き、このコマンドを実行してログ ファイルをスクロールし、必要に応じてパスを調整します。
tail -f /var/log/mysql/mysql.log
有料版ならJet Profilerがいいです。LogMonitor は、それを mysql ログ ファイルに向けるだけです。
バージョン5.0.37が利用できない場合は、mytopを確認することをお勧めします。サーバーの現在のステータスを出力するだけですが、特定のクエリでEXPLAINを(mercutioによって言及されているように)実行できます。
プロファイリング アプリ自体については知りませんが、クエリの分析に EXPLAIN 構文を使用するのは一般的です。これらを使用して、作成するのに最適なインデックスを見つけたり、クエリ全体を変更してみて、効率がどのように変化するかなどを確認したりできます。