テンポラリDBのクエリが遅い
テンポラリDBに大量のデータがありクエリが遅い場合、ソートに利用するワークメモリが不足している可能性があります。
ここではスクリプト上でワークメモリを増やす方法について説明します。
設定手順
ワークメモリを増やす場合、JDBC > 更新系SQL実行 を利用して、次のSQLを発行します。
SET SESSION work_mem='10MB'
上記SQLを実行することで、同一セッション内で利用できるワークメモリが増えますので、該当のクエリを実行するスクリプトにて実行してください。
また、現在のワークメモリのサイズを確認するには、 JDBC > 検索系SQL実行 を利用して、次のSQLを発行します。
SHOW work_mem
補足
- ワークメモリを増やしすぎると、WebStudioの操作ができなくなったり、他の処理に影響が出る場合があります。まず SHOW work_mem で現在の設定値を確認し、徐々に増やして効果を確認するようにしてください。
- ワークメモリを増やしすぎて何らかの異常が発生した場合は、WebStudioの再起動を行ってください。
- テンポラリDBはPostgreSQLのデータベースです。PostgreSQLのヘルプも参考にしてください。
SETコマンドについて https://www.postgresql.jp/document/9.0/html/sql-set.html
パラメータについて https://www.postgresql.jp/document/9.0/html/runtime-config-resource.html