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

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

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

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

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

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

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

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

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

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

最後に

最後までお読みいただきありがとうございます。

SQLのチューニングについては、「SELECT文のSQLチューニング方法まとめ」で詳しく解説していますので、ぜひ参考にしてください。