获取codeigniter中所有数据库查询的列表(在ajax请求中)

时间:2018-10-05 11:29:16

标签: php codeigniter-3

我正在使用codeigniter

现在我的ajax请求非常慢,我想找到原因

在ajax请求中,我想将所有数据库查询保存在日志文件中

有可能吗?

2 个答案:

答案 0 :(得分:1)

您可以打开db登录配置文件:

$db['default'] = array(
   ...
   'save_queries' => TRUE
   ....
);

然后ajax请求的结尾使用$queries = $this->db->queries;获取所有SQL查询

$log .= join("\n",$this->db->queries);
$myfile = file_put_contents('logs.txt', $txt.PHP_EOL , FILE_APPEND | LOCK_EX);

答案 1 :(得分:0)

只需在数据库上启用慢速查询日志即可。例如。在MySQL上:

libgstrtsp-1.0

X -它记录所有运行时间超过X秒的查询。默认值为10秒。

/ path / filename -日志文件的路径。默认值为SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = X; SET GLOBAL slow_query_log_file = '/path/filename';