[groonga-dev,03905] Re: PGRNファイルが開けない?

Back to archive index

高見 直輝 takam****@orega*****
2016年 2月 4日 (木) 12:02:22 JST


高見です。

> > CREATE INDEXの時点ではOIDを使っているように見えるのですが、どうなのでしょ
> > うか?
> > てっきり、XXXの値がrelfilenodeの値に切り替わったのが原因ではないかと思っ
> > たのですが・・・。
> 
> CREATE INDEX直後はOIDもrelfilenodeも同じ値なんです。

あ、そうなんですね。気がつきませんでした。

> > CREATE INDEX時にOIDがセットされている場合、REINDEXをしていない(relfilenode
> > の値に切り替わっていない)インデックスが消えてしまいませんか?
> 
> REINDEXをしていないインデックスは絶対消えないようになってい
> ます。
> 
> > 次回アップデート時に既存インデックスの再作成が必要かどうか教えて下さい。
> 
> 必要ありません。
> VACUUM/ANALYZE後のロジックが間違っているだけなので、アップデー
> トすれば直るのです。

了解しました。

> >> つまり、電源断をしなくても以下で再現します。
> >> 
> >>   CREATE INDEX ...;
> >>   REINDEX INDEX ...;
> >>   ANALYZE;
> >>   SELECT ...;
> > 
> > 当方の環境ではREINDEXの前にpgrnファイルを削除しないと再現しないようなの
> > ですが、理由は分かりますでしょうか?
> 
> たぶん、SELECTのときにシーケンシャルサーチになっているんだと
> 思います。最後のSELECTをINSERTに変えるとエラーメッセージがで
> ると思います。

すいません。再現しました。
ANALYZEしてから全テーブルのインデックス情報が削除されるまでの期間が、ファ
イルの有無によって増加する模様。
インデックス(テーブル)の数が多いので、既存ファイルのチェックや削除など
に時間がかかっているのだと思われます。

> > ファイル削除をやっていない環境であればアップデート時にインデックス再作成
> > が不要になる、となってくれると色々と助かるのですが・・・。
> 
> はい、インデックス再作成は不要です。

助かります。

----------------------------- 
高見 直輝 <takam****@orega*****>
株式会社オレガ
TEL:03-3267-0150
FAX:03-3267-0180




groonga-dev メーリングリストの案内
Back to archive index