【发布时间】:2012-09-09 17:25:21
【问题描述】:
当我在 Cakephp 2.0 中通过 $options['order'] = array('Model.name' => 'DESC'); 使用分页函数时设置查询需要 7000 毫秒,而没有设置订单需要 5 毫秒,限制设置为仅 10 条记录。我使用 WAMP 服务器。
知道为什么这个查询需要这么长时间吗?唯一的区别是添加订单规则。 “Ordered by”字段已编入索引。
解决了:
问题是我没有将所有相关的模型 id 字段 (model_id) 设置为索引,之后查询按应有的方式运行。
【问题讨论】:
-
如果您在 mysql CLI 中运行完整的 SQL 查询,但前面带有
EXPLAIN,那么输出是什么? -
发布您的一些查询代码和数据库表
-
什么乱七八糟...如果您要从表中选择所有字段,您可以使用
myTable.*而不是列出所有字段。 -
这是 echo $this->element('sql_dump'); 的输出
-
+1 用于在您的问题之后找到解决方案。 :)
标签: mysql cakephp cakephp-1.3 cakephp-2.0