2008-08-21 10 views
52

"Microsoft SQL Server Profilerは、データベースエンジンまたはAnalysis Servicesのインスタンスを監視するためのSQLトレースに対するグラフィカルユーザーインターフェイスです。"MySqlに対応するプロファイラはありますか?

SQL Server Profilerは、開発、テスト、およびデータベースアプリケーションの問題をデバッグする際に非常に役立ちます。誰かがMySqlの同等のプログラムがあるかどうかを知っていますか?

答えて

30

コミュニティサーバーのバージョン5.0.37では何かクールなものがMySQL's new profiler

これは、あなたが探している情報を提供します。

+11

FYIは、上記のリンクは死んだように見える、それが主導します私は空白のOraceの検索ページに行きます。以下は、あなたがやりたいことをするのに役立つSHOW PROFILES構文へのリンクです:http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html。 – Bialecki

+3

FYI:waybackmachineのスナップショットと元のリンクを更新しました。 – Leigh

0

プロファイリングアプリについてはわかりませんが、クエリの分析にはEXPLAIN構文を使用するのが一般的です。これらを使用して、作成する最適なインデックスを見つけることができます。または、全体的なクエリを変更して効率がどのように変化するかを調べることができます。

1

バージョン5.0.37が利用できない場合は、mytopを参照してください。単にサーバーの現在のステータスを出力しますが、特定のクエリに対して(mercutioで述べたように)EXPLAINを実行することができます。

8

パフォーマンスを監視したいのですか、実行中のクエリのみを見たいですか?後者の場合は、与えられたすべてのクエリを記録するようにMySQLを設定できます。 RedHatのLinuxマシン上では、MySQLを再起動する前に/etc/my.cnfの[mysqld]セクションに

log = /var/lib/mysql/query.log

を追加することができます。

忙しいデータベースのシナリオでは、これらのログはかなり大きくなる可能性があることに注意してください。

3

有料版の場合は、Jet Profilerが有効です。 LogMonitorはそれをmysqlログファイルにポイントするだけです。

6

試してみるJETプロファイラは、リアルタイムのクエリパフォーマンスと診断ツールです。 私は自分の仕事に使っています。優れたソフトウェアとサポート。私は生でここにすべてのものを見つけた私の意見で Review Jet Profiler for MySQL

2

....

MySQLの設定ファイルを見つけ、開く、通常のUbuntu上で/etc/mysql/my.cnf。 「ロギングおよびレプリケーション」

# * 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 

のこの行をコメントアウト言うセクションを探しちょうどロギングをオンにする「ログ」変数のコメントを解除します。このコマンドでMySQLを再起動します。 sudoは今、私たちは、彼らが来るとしてクエリの監視を開始する準備が整いました

を再起動/etc/init.d/mysql新しいターミナルを開き、ログファイルをスクロールするには、このコマンドを実行します。必要に応じてパスを調整します。

tail -f /var/log/mysql/mysql.log 
+0

これは最新バージョンでは機能しないと報告されています。 'general_log = on' ' general_log_file =/path/to/query.log' 私はhttps://stackoverflow.com/questions/6479107/how-to-enable-mysql-query-log#comment50242203_6479183で見つけました –

0
グラフィカル・ユーザー・インターフェースわからない

が、私はワークベンチ使用してMySQLにストアドプロシージャをたくさんプロファイル助けたコマンドがあります:

SET profiling = 1; 
call your_procedure; 
SHOW PROFILES; 
SET profiling = 0; 
関連する問題