如何查看页面加载时运行的MySQL查询数量

时间:2012-10-14 01:37:40

标签: php mysql mysqli

我正在测试我正在制作的CMS上的性能,我想知道是否可以查看在页面加载上运行的查询。例如,假设我运行'test.php'。当我转到它时,页面底部的mySQL show运行的查询列表 - 这可能吗?我以前见过网站这样做过。

由于

2 个答案:

答案 0 :(得分:2)

函数SHOW FULL PROCESSLIST将显示所有进程的实时和过去历史记录。

SHOW FULL PROCESSLIST

如果您使用的是您有权安装软件包的服务器,则可以安装 mysqltop 并测试实时文件和MySQL资源的使用情况和查询。

答案 1 :(得分:0)

好吧,如果你的所有查询都通过一个函数然后它应该很容易,但如果每个只使用标准调用,那么它就不会。这也让你可以轻松切换到不同的数据库类型或类似的东西。

例如在CMS上我修改为库程序,我有一个数据库查询功能:

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 global or $GLOBALS