php - 计算每个页面请求的查询数?

标签 php mysql optimization mysqli

我需要知道每个页面请求执行了多少 sql 查询。由于网站已经完成,我只是在运行优化分析,如果提供的任何解决方案都不需要我更改整个网站结构,我会更愿意。

我使用单个连接将所有查询发送到 MySQL 数据库:

define('DATABASE_SERVER', '127.0.0.1');
define('DATABASE_NAME', 'foco');
define('DATABASE_USERNAME', 'root');
define('DATABASE_PASSWORD', '');

$DB_CONNECTION = new mysqli(
    DATABASE_SERVER,
    DATABASE_USERNAME,
    DATABASE_PASSWORD,
    DATABASE_NAME,
    3306
);

然后执行我使用的查询:

$query = "SELECT * FROM `sometable`";
$queryRun = $DB_CONNECTION->query($query);

有没有办法在 php 关闭连接之前计算已发送了多少查询并将答案记录在文本文件中?

最佳答案

您可以扩展 mysqli 对象并覆盖查询方法:

class logging_mysqli extends mysqli {
    public $count = 0;
    public function query($sql) {
        $this->count++;
        return parent::query($sql);
    }
}

$DB_CONNECTION = new logging_mysqli(...);

关于php - 计算每个页面请求的查询数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13009564/

相关文章:

php - 如何为更新查询设置条件

php - 如果值不为空,则打印行中的值 PHP SQL

php - 在同一查询中搜索所有内容

php - 是否可以获取终端的宽度或打印填充 100% 宽度的线条?

mysql - 为什么这个 CASE 运算符不工作?

c++ - 优化 C++ 二维数组

c - 在按值传递 const 参数的情况下,是否有任何优化 yield 的真实示例?

.htaccess - 更改 .htaccess 文件中的 'memory_limit' 、 'post_max_size' 和 'upload_max_filesize'

php - Facebook 好友数?

python - 优化三个数组上的现有 for 循环