6. clustered index の威力を知るための準備 - PostgreSQL のソースコードを読む
昨日の続き。サンプルデータをきっちり用意します。
CREATE TABLE person ( social_no integer, name text, age integer, uri text, PRIMARY KEY (social_no) );
test-# \d person Table "public.person" Column | Type | Modifiers -----------+---------+----------- social_no | integer | not null name | text | age | | uri | text | Indexes: "person_pkey" PRIMARY KEY, btree (social_no)
B-tree の primary key index ができました。
続いて age に index を作ります。 range search のパフォーマンスを見たいので B-tree を選んでいます。
create index person_age on person using BTREE (age);
最後にデータの insert 。
age が 0-99 まで一様に分布するように 100 万件 insert するスクリプトを Mosh で書いて流しています。(spawn で psql 呼んでいるのでむちゃくちゃ遅い)
続きは明日。