これは、単一のクエリで実行したいことではありません。列ごとに1つのクエリを実行します。適切な状況(適切なインデックスと適切な列タイプ)では、MySQLは実際に短絡によってこれらのクエリを最適化できるため、テーブル全体をスキャンする必要はなく、上位5つの値を取得して完了します。
>SELECT column1 FROM table ORDER BY column1 DESC LIMIT 5
SELECT column2 FROM table ORDER BY column2 DESC LIMIT 5
etc
それらすべてを1つの巨大でぎこちないクエリにまとめようとすると、オプティマイザにテーブル全体をあきらめて50回再スキャンし、50個の一時テーブルとおそらくファイルの並べ替えを適切に使用するように説得することができます。したがって、テーブルに約10行が含まれていない限り(明らかにそうではありません)、50の個別のクエリが常に高速になります。