数据库事件
数据库类包含几个可以利用的 事件,以了解数据库执行期间发生的更多信息。这些事件可用于收集数据以进行分析和报告。 调试工具栏 使用此操作来收集在工具栏中显示的查询。
事件
DBQuery
此事件在每次运行新查询时触发,无论成功与否。唯一的参数是当前查询的 Query 实例。
你可以使用此事件将所有查询显示在 STDOUT,或记录到文件,甚至创建工具进行自动查询分析,以帮助你发现潜在的缺失索引、慢查询等。
记录所有查询的示例:
<?php
// In app/Config/Events.php
namespace Config;
use CodeIgniter\Events\Events;
use CodeIgniter\Exceptions\FrameworkException;
use CodeIgniter\HotReloader\HotReloader;
// ...
Events::on(
'DBQuery',
static function (\CodeIgniter\Database\Query $query) {
log_message('info', (string) $query);
}
);