サブクエリを使用してMySQLクエリの選択結果をGROUP BYで順序付けることは可能ですか?大きなデータセットでは、サブクエリがクエリにかなりの量の読み込み時間を追加することがわかりました。ここで MySQLがグループを結合し、グループ化し、選択肢をグループ化する
は似たような状況である:これは動作します私のコードです how to sort order of LEFT JOIN in SQL query?が、それは、負荷への道がかかりすぎる:
SELECT tags.contact_id, n.last
FROM tags
LEFT JOIN (SELECT * FROM names ORDER BY timestamp DESC) n
ON (n.contact_id=tags.contact_id)
WHERE tags.tag='$tag'
GROUP BY tags.contact_id
ORDER BY n.last ASC;
私は単純なwが参加やっ速い結果を得ることができます/テーブル名ですが、 "group by"コマンドは、最後の行ではなく、結合されたテーブルの最初の行を返します。
1 。)注文に使用されたフィールドにはインデックスがありますか? 2)インデックスの反対方向に注文した場合、インデックスは遅くなりますので、インデックスがそれぞれの場合に昇順または降順になるように慎重に選択してください。 – Alfabravo