首页 文章

使用ORDER BY的MYSQL查询在CakePHP中运行速度非常慢

提问于
浏览
0

当我在Cakephp 2.0中使用paginate函数时,使用$ options ['order'] = array('Model.name'=>'DESC');设置查询需要7000ms而不是没有设置顺序的5ms,限制只设置为10条记录 . 我使用WAMP服务器 .

知道为什么这个查询花了这么长时间?唯一的区别是添加订单规则 . “已订购”字段已编入索引 .

Solved it:

问题是我没有将所有相关的模型id字段(model_id)设置为索引,在这之后查询运行应该如此 .

1 回答

  • 0

    您可以尝试在模型中放置 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 并将其中一个选项放入您的模型中并告诉我们它是否更快 .

    Source

相关问题