Php 使用多数据库的CodeIgniter活动记录优化MySQL

Php 使用多数据库的CodeIgniter活动记录优化MySQL,php,mysql,codeigniter,activerecord,Php,Mysql,Codeigniter,Activerecord,我使用CodeIgniter活动记录类使用多个数据库。我不得不禁用MySQL的持久连接,因为CodeIgniter活动记录类不能使用多个数据库进行持久连接 我正在查看我的数据库的负载,它似乎正在使用它的大部分查询,称为“更改数据库”,我不确定这是否是一个好迹象 如何在不必一直调用“change database”的情况下对此进行优化?它不像大多数活动记录命令那样对用户友好,但您可以像这样直接调用SQL: $query = $this->db->query("SELECT * FROM

我使用CodeIgniter活动记录类使用多个数据库。我不得不禁用MySQL的持久连接,因为CodeIgniter活动记录类不能使用多个数据库进行持久连接

我正在查看我的数据库的负载,它似乎正在使用它的大部分查询,称为“更改数据库”,我不确定这是否是一个好迹象


如何在不必一直调用“change database”的情况下对此进行优化?

它不像大多数活动记录命令那样对用户友好,但您可以像这样直接调用SQL:

$query = $this->db->query("SELECT * FROM database_a.some_table");
$query2 = $this->db->query("SELECT * FROM database_b.another_table");

是否使用引用两个数据库的查询?如果不是,那么为第二个数据库加载一个新的DB实例并不太困难。也就是说,第一次使用$this->db,第二次使用$this->db2。老实说,我不知道这是否会触发您所说的“更改数据库”命令,但至少它将是更可持续的代码。CI可以在脚本期间保持与每个数据库的连接处于打开状态(而不是持久连接),您的问题似乎会得到解决


我从来没有在一个应用程序中需要多个mysql数据库,所以这完全是基于我所看到的猜测,比如说,一个mysql数据库和另一个是sqlite数据库。

您是否使用了多个
活动记录
对象的实例?另外,请粘贴一些相关代码。