[pgsql-jp: 42060] Re: BRIN indexについて

NISHIMURA Yutaka iscream @ nugae.org
2020年 9月 18日 (金) 08:25:22 UTC


西村です。

> 海外です
> 
> 横から失礼します(シュッ!
> 
> CLUSTERコマンドは内部的に CREATE TABLE AS SELECT .... ORDER BY index_key と
> 同じ事をやっています。テーブルに紐づいたファイルの物理的にもう一つ作成し、それを
> スワップする事で、「物理的に望ましい順序」でデータが配置されたテーブルを作っています。
> ですので、わざわざ b-tree を一度作成するくらいなら、CREATE TABLE AS を実行する方が
> ひと手間少ないかと思います。

ありがとうございます

なるほど。
CLUSTERってそういう感じになっていたんですね
と言う事は、CLUSTERでインデックス指定出来るようになってますけど
処理の早い遅いはあれどインデックス以外の物指定出来ても問題ないわけですね
BRINとか任意のカラム指定出来れば良いのに…

あれ、そうすると、Ver.9.0あたりでVACUUM FULLがCLUSTER相当の処理に変更っ
てありましたけど
CLUSTER設定されたテーブルにVACUUM FULLを実行したときって ORDER BYはどう
なるのかしら…CLUSTER相当になるのかな



> 
> 2020年9月18日(金) 14:31 NISHIMURA Yutaka <iscream @ nugae.org>:
> >
> > 西村です。
> >
> > > 佐藤です。
> > >
> > > > 西村です。
> > > >
> > > > ちょっとばかりデータサイズが大きいのでBRIN indexを使おうかと思っているのですが
> > > > BRINはそのブロックが保持する最小値と最大値を記載したindexと言う認識です
> > > > ですので、実データが物理的にソートされて格納されている事が望ましいと言う事なので
> > > > メンテナンス時点でCLUSTERでもしようかと思ったのですが
> > > > BRIN indexではCLUESTERに指定出来ない様なのでどうしたものかと
> > > > 何か良い方法ありませんか?
> > > >
> > > > CREATE TABLE ASを使ってTABLEをリネームするしか無いんでしょうか?
> > >
> > > ほかに B-tree インデックスの作成後に CLUSTER、その後、BRIN インデック
> > > スの作成くらいしかなさそうですね。
> >
> > ありがとうございます
> > やはり、一時的にb-treeインデックスをつけてCLUSTERしてインデックス落とすしか無いですか
> > これならb-treeそのまま使った方がって感じもしますね
> >
> > ありがとうございました
> >
> > CLUSTERもBRINでこそ役に立つので対応してくれればいいのに…
> >
> > --
> > NISHIMURA,Yutaka./西村ゆたか <iscream @ nugae.org>
> >
> >
> 
> 
> -- 
> HeteroDB, Inc / The PG-Strom Project
> KaiGai Kohei <kaigai @ heterodb.com>

-- 
NISHIMURA,Yutaka./西村ゆたか <iscream @ nugae.org>




pgsql-jp メーリングリストの案内