我正在测试我正在制作的 CMS 的性能,我想知道是否可以查看在页面加载时运行了哪些查询。例如,假设我运行“test.php”。当我转到它时,mySQL 运行的查询列表显示在页面底部 - 这可能吗?我以前见过网站这样做。
谢谢
该功能SHOW FULL PROCESSLIST
将显示所有进程的实时和过去历史。
如果您使用的是您有权安装软件包的服务器,您可以mysqltop
实时安装和测试文件和 MySQL 资源使用情况和查询。
好吧,如果您的所有查询都通过一个函数,那么它应该很容易,但如果每个查询都只使用标准调用,那么它就不会了。这也让您可以轻松切换到不同的数据库类型或类似的东西。
例如,在我修改为库程序的 CMS 上,我有一个 DB Query 功能:
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 或 $GLOBALS