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


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

ソート処理が遅いSQLのチューニング方法については↓で紹介していますので参考にしてください。
>>【SQL】ソート処理が遅いときのチューニング方法

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

ソート処理はデータの並び替絵を行います。

大量データのソートになると、CPUリソースと共にメモリも大量に利用してしまいます。実はソート処理を意識せずに書いたSQLでソート処理が発生していたりします。

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

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

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

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

最後に

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

SQLのチューニングについて↓で紹介していますのでぜひ参考にしてください。
>>SELECT文のSQLチューニング方法まとめ