当我在 Cakephp 2.0 中使用 $options['order'] = array('Model.name' => 'DESC'); 设置查询需要 7000 毫秒,而没有设置订单需要 5 毫秒,限制设置为仅 10 条记录。我使用 WAMP 服务器。
知道为什么这个查询需要这么长时间吗?唯一的区别是添加订单规则。“Ordered by”字段已编入索引。
解决了它:
问题是我没有将所有相关的模型 id 字段 (model_id) 设置为索引,之后查询按应有的方式运行。
当我在 Cakephp 2.0 中使用 $options['order'] = array('Model.name' => 'DESC'); 设置查询需要 7000 毫秒,而没有设置订单需要 5 毫秒,限制设置为仅 10 条记录。我使用 WAMP 服务器。
知道为什么这个查询需要这么长时间吗?唯一的区别是添加订单规则。“Ordered by”字段已编入索引。
解决了它:
问题是我没有将所有相关的模型 id 字段 (model_id) 设置为索引,之后查询按应有的方式运行。
您可以尝试放入order
您的模型。
var $order = "field";
var $order = "Model.field";
var $order = "Model.field asc";
var $order = "Model.field ASC";
var $order = "Model.field DESC";
var $order = array("Model.field" => "asc", "Model.field2" => "DESC");
Delete-orderBy
在您的查询中并将这些选项之一放入您的模型中并告诉我们它是否更快。