【发布时间】:2014-03-20 22:55:21
【问题描述】:
我一直致力于将我的应用程序从 CodeIgniter 转换为 Phalcon。我注意到使用 CI 最多只需要 3 或 4 秒的 [查询繁重] 请求使用 Phalcon 最多需要 30 秒才能完成!
我花了几天时间试图找到解决方案。我尝试使用框架提供的所有不同访问方式,包括将原始查询字符串直接提交到 Phalcon 的 MySql PDO 适配器。
我正在将我的数据库连接添加到服务容器,就像在 Phalcon 的 INVO 教程中显示的那样:
$di->set('db', function() use ($config) {
return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
"host" => $config->database->host,
"username" => $config->database->username,
"password" => $config->database->password,
"dbname" => $config->database->name
));
});
使用 webgrind 输出,我能够将瓶颈缩小到 Phalcon 的 PDO 适配器类中的构造函数(成本以毫秒为单位):
我已经分析并手动测试了相关的 SQL,以确保瓶颈不在数据库中(或者我构造不佳的 SQL!)
【问题讨论】:
标签: php mysql dependency-injection phalcon