2017-03-12 10 views
-3

私はmysqlデータベースから行のリストを取得しており、データをソートする必要があります。 mysql 'order by'節を使用してソートを行う、またはnode.js sort()を使用してデータをソートすることは、サーバーに与える負荷が少ないのでしょうか?どちらがより効率的ですか?Mysql Order By VS. Node.js sort

+1

実世界のデータでベンチマークを試しましたか? – mscdex

答えて

0

どのソートが効率的であるかに関する一般的な答えはありません。それは多くの状況に依存します。

は、をmysqlでソートする必要がある場合があります。たとえば、テーブルから上位Nレコードを取得する場合は、テーブル全体をnode.jsに取得してそこでソートする必要はありません。

mysqlがfilesortを使ってレコードをより低速でソートする場合がありますが、代わりにnode.jsでソートを検討することがあります。 explain mysqlでファイルソートによってソートが行われたかどうかを示すステートメントが表示されます。 Filesortsは通常インデックスによって高速化されますが、インデックスに余分なフィールドを追加することはできません。

メッセージは次のとおりです。クエリが遅く実行された場合、node.jsでソートすることで処理速度を上げることができるかどうかをテストしますが、常にmysqlでソートを行います。