2012年2月24日金曜日

MySQLのすべてのSQLクエリを監視する

MicrosoftのSQL Serverは、データベースを打つごとにSQLクエリを監視するために使用できるプロファイラと呼ばれるツールがあります。これは、アプリケーションによって生成された正確なクエリのトラブルシューティングを行うには、プログラマだけでなく、データベース管理者にとって非常に便利です。

頻繁にMySQLを使用するために切り替えたこと、これは私が行う方法を把握したい最初のものの一つであった。方法が他には、WordPressやphpBBのによって生成された実際のSQLコードを見ることができますか?

我々が行う必要があるまず最初は、MySQLのクエリのログ記録をオンになります。これは開発だけで実行されるべきであることを警告される...それは実際にファイルへのすべての単一のクエリをログに記録するように物事が遅くなります。

UbuntuのMySQLの設定ファイル、通常の/ etc / mysql / my.cnfを検索して開きます。 "ロギングおよびレプリケーション"というセクションを探します

#
#*ログおよびレプリケーション
#
#どちらの場所では、cronジョブによって回転を取得します。
#このログタイプは、パフォーマンスのキラーであることに注意してください。

=の/ var / log / mysqlの/ mysql.logを記録する

単にログをオンにする"ログ"変数のコメントを解除します。このコマンドを使用してMySQLを再起動します。

sudoのは/ etc / init.d / mysqlの再起動

今我々は、彼らが必要に応じてパスを調整し、新しいターミナルを開き、ログファイルをスクロールするには、このコマンドを実行して出番のようなクエリの監視を開始する準備が整いました。

は、tail - fを/ var / log / mysqlの/ mysql.log

今すぐあなたのアプリケーションを実行します。は、データベースのクエリは、端末ウィンドウ内のことで幸先の良いスタートがわかります。 (あなたが端末上で有効にスクロールし、歴史を持っていることを確認してください)

私が感心、phpBB3のはかなりタイトな、最適化されたSQLコードを持っています。 WordPressは、その一方で、非常に非効率的です。

0 件のコメント:

コメントを投稿