我想知道为什么一些基于php的项目是通过php排序数据而不是使用sql的order by子句。对不起,我感觉很厚。拜托,赐教。
答案 0 :(得分:1)
以下几条评论应该可以解释这个问题:
Mysql是数据处理软件,旨在做排序,过滤和其他数据相关的任务。虽然PHP不是数据处理软件而是超文本预处理器。因此,性能明智的MySQL优于PHP。
在PHP中对大数据进行排序会快速导致memory_limit。
MySQL非常擅长缓存,如果表格没有更新,你会在很短的时间内再次获得订单列表,而这个任务可能会花费很多时间在PHP中。
您可以使用PHP排序的场景:
您需要一个mysql不支持的自定义排序。在这种情况下,您可能更喜欢php排序,因为它允许比MySQL更灵活。
当您处理相对非常小的数据时 - 在这种情况下,性能不会成为问题,因为两者之间的差异可以忽略不计。
参考:Sorting a MySQL query with ORDER BY or with PHP sort functions