我很好奇MySQL中查询返回的一小组元素的运行时成本是在PHP中,而不是在MySQL中进行排序。在PHP和MySQL中排序小列表(10项)然后返回?
我无法在MySQL中对其进行排序的原因是由于返回的数据组(实际上是2个查询,然后将数据带到PHP端)。
谢谢!
我很好奇MySQL中查询返回的一小组元素的运行时成本是在PHP中,而不是在MySQL中进行排序。在PHP和MySQL中排序小列表(10项)然后返回?
我无法在MySQL中对其进行排序的原因是由于返回的数据组(实际上是2个查询,然后将数据带到PHP端)。
谢谢!
十个元素没有区别。但通常你应该总是在MySQL中排序,而不是PHP。 MySQL经过优化,可快速排序并具有适当的数据结构和信息。请参考JOIN
s,UNION
s和subqueries。他们可能会这样做。
你可以用联合组合查询,然后与MySQL
Q1
UNION
Q2
ORDER BY X
我的意见对其进行排序:
的开销是在两种情况下可以忽略不计。优化您的生产力,并为您更轻松地完成任务。电脑在那里帮助你,反之亦然。
如果你真的想优化主机,你有没有考虑让客户端在JavaScript中做到这一点?
我也许会在SQL中这样做,但主要是为了保持逻辑在一个地方(增加内聚力,减少耦合)。
我喜欢你的副臂。在这种特殊情况下,我不能这样做,但我的确喜欢把工作交给客户。 – csjohn
是的,我不认为这对于如此少的元素很重要。我猜想更大的问题是“UNION在MYSQL中的成本是多少”,我倾向于以表演的名义回避它们和子查询。 – csjohn
@csjohn:相当小。两个单独查询的成本和(默认)消除欺骗,因此不会比2个查询更昂贵,并且在整个结果中选择不同。 –