我的查询很重,需要花费很多时间。它有多个连接,我在多个表的列上执行group by
和order by
。我应该在ruby应用程序级别执行此操作order by
还是group by
,还是继续在MySQL查询中执行此操作?
答案 0 :(得分:4)
通常,您应该尽可能多地在数据库中进行过滤和排序,尤其是当您仅显示所有可能记录的一小部分时,就像分页时一样。
当且仅当订购的逻辑如此疯狂时,您才会手动进行订购,这在数据库本身中是不切实际或不可能的。
值得一提的是,数据库索引在访问有序信息时有很大帮助。只要在查询中有ORDER BY
子句,就可以使用它们以获得最佳效果。