【问题标题】:codeigniter unexpected model loadcodeigniter 意外模型加载
【发布时间】:2013-06-09 12:51:14
【问题描述】:

我正在构建一个应用程序,其中包含与 3 个不同数据库的 3 个 mysql 数据库连接。
例如
1. 默认连接 => DB1
2. conn02 => DB2
3. conn03 => DB3

所有这 3 个连接都使用相同的用户名和密码。

我在模型构造中调用了其他 2 个连接,因为它不是默认的。喜欢:

$this->CONN2 = $this->load->database('db2', TRUE);
$this->CONN3 = $this->load->database('db3', TRUE);

后来当我在控制器中调用这个模型并渲染视图时。在浏览器中渲染视图大约需要 7 秒。在没有任何数据库选择查询的情况下,视图在浏览器中加载需要很长时间。

然后我对模型进行了基准测试并看到了结果。我开始知道这个模型需要时间。所以我在构造时禁用了模型中的数据库连接,并且加载速度很快。看到结果我很惊讶。

你能告诉我如何解决这个问题吗?

这是禁用模型中的数据库连接之前和之后的基准测试结果图像。

【问题讨论】:

    标签: php mysql codeigniter database-connection benchmarking


    【解决方案1】:

    我纠正了这个问题。如果我从负载数据库中删除第二个参数(TRUE)。模型加载在 0.0042 内。但我使用的是活动记录,所以必须传递第二个参数 TRUE。

    $this->CONN2 = $this->load->database('db2');
    $this->CONN3 = $this->load->database('db3');
    

    我有 3 个库自动加载“数据库”、“会话”和“自定义库”。当我禁用此自动加载时。带有模型的整个控制器在 0.0356

    内加载

    后来我优化了几个区域,现在 CI 渲染页面很快

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-10
      • 1970-01-01
      相关资源
      最近更新 更多