Mysql命令由VS. Node.js排序

时间:2017-03-12 09:49:44

标签: mysql node.js sorting

我正在从mysql数据库中检索行列表,并需要对数据进行排序。通过mysql'order by'子句对我的服务器施加压力,或者使用node.js sort()对数据进行排序是不是很紧张?哪个更有效率?

1 个答案:

答案 0 :(得分:0)

关于哪种排序更有效,没有通用的答案。这取决于很多情况。

有些情况下必须在mysql中排序。例如,当你想从表中获得前N个记录时 - 没有必要将整个表检索到node.js并在那里进行排序。

有些情况下,mysql可能会使用filesort对记录进行较慢的排序,这时您可能会考虑在node.js中进行排序。 explain语句将告诉您是否通过mysql中的filesort完成排序。 Filesorts通常可以通过索引加速,但您可能无法在索引中添加任何额外的字段。

消息是:如果查询运行缓慢,那么测试是否可以通过在node.js中排序来加快速度,但总是首先在mysql中进行排序。