数据库事件

数据库类包含几个可以利用的 事件,以了解数据库执行期间发生的更多信息。这些事件可用于收集数据以进行分析和报告。 调试工具栏 使用此操作来收集在工具栏中显示的查询。

事件

DBQuery

无论成功与否,每当有新的查询被执行时,此事件就会被触发。唯一的参数是当前查询的 查询 实例。你可以使用这个来在 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);
    }
);