3

私が作成している CMS でパフォーマンスをテストしていますが、ページの読み込み時に実行されたクエリを表示できるかどうか疑問に思っています。たとえば、'test.php' を実行するとします。そこに行くと、mySQL によって実行されたクエリのリストがページの下部に表示されます - これは可能ですか? 以前にこれを行うサイトを見たことがあります。

ありがとう

4

2 に答える 2

3

この機能SHOW FULL PROCESSLISTは、すべてのプロセスのリアルタイムおよび過去の履歴を表示します。

SHOW FULL PROCESSLIST

パッケージをインストールする権利があるサーバーを使用している場合は、mysqltopファイルと MySQL リソースの使用状況とクエリをリアルタイムでインストールしてテストできます。

于 2012-10-14T01:40:23.427 に答える
0

さて、すべてのクエリが関数を通過する場合、それは簡単なはずですが、それぞれが標準の呼び出しのみを使用する場合、そうではありません。これにより、別のデータベースタイプなどに簡単に切り替えることもできます。

たとえば、ライブラリプログラムに変更したCMSには、DBクエリ関数があります。

function db_query($qstring, $conn) {
$dbh = mysql_db_query($dbname,$qstring, $conn);
// this is where I would add some incrementing code, but it has to be global.
// or just do something like 
if($_GET["debug"]=="debuginSQLcount"){    
    echo $qstring
}
return $dbh;
}

それを使うために、私はただ次のようなことをします

$sql = "SELECT stuff";
}
$result = db_query($sql, $link);
if (!$result || db_numrows($result) < 1) {

このように行う場合は、$GLOBALS変数などをインクリメントする行を関数に追加するだけです。PHPグローバルまたは$GLOBALSで詳細を読む

于 2012-10-14T01:48:06.820 に答える