是否有任何理由通过PHP而不是sql order by对数据进行排序

时间:2016-11-23 13:45:50

标签: php performance sql-order-by

我想知道为什么一些基于php的项目是通过php排序数据而不是使用sql的order by子句。对不起,我感觉很厚。拜托,赐教。

1 个答案:

答案 0 :(得分:1)

以下几条评论应该可以解释这个问题:

  1. Mysql是数据处理软件,旨在做排序,过滤和其他数据相关的任务。虽然PHP不是数据处理软件而是超文本预处理器。因此,性能明智的MySQL优于PHP。

  2. 在PHP中对大数据进行排序会快速导致memory_limit。

  3. MySQL非常擅长缓存,如果表格没有更新,你会在很短的时间内再次获得订单列表,而这个任务可能会花费很多时间在PHP中。

  4. 您可以使用PHP排序的场景

    1. 您需要一个mysql不支持的自定义排序。在这种情况下,您可能更喜欢php排序,因为它允许比MySQL更灵活。

    2. 当您处理相对非常小的数据时 - 在这种情况下,性能不会成为问题,因为两者之间的差异可以忽略不计。

    3. 参考:Sorting a MySQL query with ORDER BY or with PHP sort functions

      Sorting MySQL results in PHP...?