BOOO‐PostgreSQL DB2(reorg、runstats)⇒PostgreSQL(vacuum、Analyzer )
①vacuum、analyzeの実行
:VACUUM は、不要タプルが使用する領域を回収します。(table、index)
⇒vacuum (index_cleanup true, analyze, verbose) [table];
:index_cleanup インデックスの不要領域の回収
:verbose 各テーブルについてバキューム処理の詳細な報告を出力します
②reindexでのインデックス再編成
⇒REINDEX TABLE CONCURRENTLY [table];
(reindex index concurrently インデックス名;)
:CONCURRENTLY
REINDEXにCONCURRENTLYオプションをつけることでこの方式が行われます。 このオプションを使うと、PostgreSQLは再構築が必要な各インデックスに関してテーブルを2回走査しなければなりません。さらに、潜在的にそのインデックスを使用する可能性がある、実行中のすべてのトランザクションが終わるまで待機しなければなりません。
注意:
インデックス再構築によりCPUやメモリ、入出力に余分に負荷がかかりますので、他の操作が低速になる可能性があります。
【DB2】
■パフォーマンス維持のための運用 (REORG と RUNSTATS) 編
https://developer.ibm.com/jp/technologies/data-management/articles/j-d-db2bestpractice02/
【PostgreSQL】
■PostgreSQLのインデックス再編成
https://qiita.com/mkyz08/items/eb66419d43c56cce566e
■reindex
https://www.postgresql.jp/document/12/html/sql-reindex.html
■PostgreSQLの、テーブル・インデックスのメンテナンスについて
https://goodbyegangster.hatenablog.com/entry/2019/05/16/223803
■PostgreSQL Index
https://www.techscore.com/blog/2013/05/27/postgresql-index-only-scan-%E5%A5%AE%E9%97%98%E8%A8%98-%E3%81%9D%E3%81%AE1/