SQLレスポンスを遅くするソート処理が発生する原因

ORACLE SQLが遅くなるとき、ソート処理が原因となっていることが多くあります。

ソート処理は、その名の通り、データの並び替えを行います。

大量データのソートになると、CPUリソースと共にメモリも大量に利用してしまいます。

ソート処理が発生する原因

実はソート処理を意識せずに書いたSQLでソート処理が発生していたりします。

・GROUP BYやDISTINCTなどデータを集約するために使った場合です。
 データを集約するために、内部的にデータを並び替える必要があります。
 そのため、ソート処理が発生してしまいます。

・UNIONやMINUSの利用
 データ集合の結合や差を出すこれらも内部的にソート処理が必要となります。

・ソートマージ結合
 名前の通りなのですが、こちらもソート処理が実行されます。

・ORDER BY
 もちろんデータの並び替えが必要なので、ソート処理が実行されます。