SQLで集約関数LISTAGGを使うと遅い!?

私は最近知りました、LISTAGG(笑)

どうもレスポンスが遅い画面があって、調べていました。

SQLを見ると、どうもSQLで参照しているVIEWのレスポンスが遅い。

VIEWの中身を見てみると、ありました、LISTAGG。

>>SQLが突然遅くなる原因と対応方法

>>ORACLEチューニング関連記事の一覧

使い方は他の集約関数と同様に、GROUP BYと一緒に使ってください。
これを使うことで例えば

商品名 色柄
ドライヤー 黒,白,赤

↑みたいな感じで、色柄をカンマ区切りで取得する、みたいな使い方が出来ます。
結構限られた条件下ではありますが、業務アプリでは意外と使えると思います。

実装方法もとても簡単です。

ただ、少し考えれば分かりますが、
大量データを処理すればどうなるか・・・

大変遅いです。
なので、使いどころを考えましょう、と先輩に言いたい。。

>>おすすめのORACLE参考書まとめ





【SQLでお困りの方にオススメ】
■SQLが遅くなる原因
・SQLが突然遅くなる原因と対応方法
・OracleSQLのレスポンスが遅い原因3つ
・JOINを使って表結合するとSQLが遅い!?
・SQLがパラレル実行されない原因

■SQLチューニングの基礎知識
・ORACLE SQLのヒントとは
・ORACLEのオプティマイザと実行計画について
・ORACLEのテーブルやインデックスの「統計情報」とは

■SQLチューニングの方法
・SELECT文のSQLチューニング方法
・OracleExadataでのSQLチューニング方法
・SLECT文が遅いときのインデックス作成によるチューニング方法
・INSERT文のSQLチューニング方法
・Update文が遅いときのチューニング方法
・Delete文が遅いときのチューニング方法
・IN句をEXISTS句に置き換えするチューニング方法
・OR句の置き換えによるチューニング方法
・IN句の置き換えによるチューニング方法
・テーブルアクセスフルスキャンを無くしてチューニングする方法
・SQLでGROUP BYが遅いときのチューニング方法
・SQLのソート処理が遅い場合のチューニング方法

■表や索引の断片化対策
・プロが教えるORACLEの表や索引の断片化解消の見積り方法
・ORACLE表の断片化を解消する3つの方法

■SQLのチューニングの補足情報
・ORACLE SQLヒントの書き方
・SQLに複数のヒントの書き方
・OracleSQLに実装すべき3つのSQLヒント
・ORACLE表の統計情報取得日の確認方法
・「統計情報が古い」とはどういうことか
・ORACLE表の統計情報の取得方法

【自己学習したい方にオススメ】
・自宅で勉強用にORACLEデータベースを無償でダウンロードし構築する方法
・OracleMasterGold12cに一ヵ月で合格した勉強方法
・OracleMasterExpertパフォーマンス&チューニングに一ヵ月で合格した勉強方法
・手に職がない人はIT業界へ、オススメ資格と勉強方法
・OracleDBのチューニング勉強方法
・OraclePL/SQL勉強方法