以下の条件で、インデックスの追加を行いたいと考えています。
データの特性などによって作成時間に幅があることは理解しているつもりです。
計画メンテナンスなどを行う時に、どの程度の時間があれば終わるのかを試算したいと考えています。
###前提・実現したいこと
既存のテーブルは1億レコード以上存在している。
インデックス作成時間のおおよその時間を見積もりたい。
###該当のソースコード
SQL
1CREATE INDEX CONCURRENTLY t_hoge_01 2 ON t_hoge 3 USING btree 4 (hoge1, hoge2); 5 6hoge1は、IDのような値が入ります。(bigint : 連番) 7hoge2は、種別のような値があります。(integer : 8, 16, 32)
###試したこと
実際にインデックスが作成されるまでの時間は11時間程度でした。
他のサーバ(スペックは2xLarge)で100万レコード程度で試すと課題が発生しなかったので、あまり参考になりませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
PostgreSQL 9.4.7
AWS EC2 m2.4xlarge
解答まとめ
計測方法について
・テストデータあるいは実際のデータを別のサーバに用意して、実測値を取得する。
PostgreSQL の環境について
・ディスクとメモリの状況に影響されやすい
今後について
・パーティショニングなどを用いて、テーブルを分割することを検討する

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。