我正在开发一个大型CRM系统,买家希望它能够得到很好的优化。它有一些非常庞大的表格,用于显示需要以不同方式进行排序和过滤的客户端,产品等。我想知道哪个会更快并且使用更少的内存:在MySQL查询中使用ORDER BY或在PHP中使用数组排序结果?有一些我能想到的排序算法对我的数据非常有用,但也许这样做MySQL方面反正会更快(获取数据和排序而不是进一步处理它的一行代码)?此外,MySQL是否使用一种排序算法(如果是,哪一种?)或者它是否依赖于列的数据类型?
答案 0 :(得分:2)
我总是选择对PHP排序进行mysql排序,因为根据我的经验,它总是对大数据集更有效。只需确保已对查询中的相关排序和条件列编制索引,并对查询使用mysql EXPLAIN来检查您是否触发了文件排序操作或使用临时表。如果你可以管理它,你可能会发现在大多数情况下mysql排序更快。