【问题标题】:MySQL Optimizations using CodeIgniter Active Records with Multiple Databases使用 CodeIgniter Active Records 和多个数据库进行 MySQL 优化
【发布时间】:2011-09-07 19:31:49
【问题描述】:

我正在使用多个使用 CodeIgniter Active Records 类的数据库。我不得不禁用与 MySQL 的持久连接,因为 CodeIgniter Active Records 类无法使用多个数据库进行持久连接。

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

如何在不必一直调用“更改数据库”的情况下对其进行优化?

【问题讨论】:

  • 您是否使用多个Active Record 对象实例?另外,请粘贴一些相关代码。

标签: php mysql codeigniter activerecord


【解决方案1】:

它不像大多数 Active Record 命令那样用户友好,但您可以像这样直接调用 SQL:

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

【讨论】:

    【解决方案2】:

    您是否使用引用两个数据库的查询?如果没有,为第二个数据库加载新的数据库实例并不太难。 IE。你仍然会使用 $this->db 作为第一个,但你可以使用 $this->db2 作为第二个。老实说,我不知道这是否会触发您正在谈论的“更改数据库”命令,但至少它会是更可持续的代码。 CI 可以在脚本执行期间保持与每个数据库的连接处于打开状态(不是持久连接),看来您的问题会得到解决。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-23
      相关资源
      最近更新 更多