Re: FW: KVP table vs. hstore - hstore performance (Was: Postgres NoSQL emulation)
От | Stefan Keller |
---|---|
Тема | Re: FW: KVP table vs. hstore - hstore performance (Was: Postgres NoSQL emulation) |
Дата | |
Msg-id | BANLkTimiphaS_5yBLjr-jDPFjWV3Uc1etA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: FW: KVP table vs. hstore - hstore performance (Was: Postgres NoSQL emulation) ("Pierre C" <lists@peufeu.com>) |
Ответы |
Re: FW: KVP table vs. hstore - hstore performance (Was:
Postgres NoSQL emulation)
|
Список | pgsql-performance |
Salut Pierre You wrote > Try to create a btree index on "(bench_hstore->bench_id) WHERE > (bench_hstore->bench_id) IS NOT NULL". What do you mean exactly? => CREATE INDEX myhstore_kps_gin_idx ON myhstore USING gin(kvps) WHERE ??? IS NOT NULL; My table's def is: > CREATE TABLE myhstore ( id bigint PRIMARY KEY, kvps hstore NOT NULL ); So I'm doing something like: CREATE INDEX myhstore_kps_gin_idx ON myhstore USING gin(kvps); Stefan 2011/5/23 Pierre C <lists@peufeu.com>: > >> Hi Merlin >> >> The analyze command gave the following result: >> >> On the KVP table: >> Index Scan using kvpidx on bench_kvp (cost=0.00..8.53 rows=1 width=180) >> (actual time=0.037..0.038 rows=1 loops=1) >> Index Cond: (bench_id = '200000_200000'::text) >> Total runtime: 0.057 ms >> >> And on the Hstore table: >> Bitmap Heap Scan on bench_hstore (cost=32.22..3507.54 rows=1000 width=265) >> (actual time=145.040..256.173 rows=1 loops=1) >> Recheck Cond: (bench_hstore @> '"bench_id"=>"200000_200000"'::hstore) >> -> Bitmap Index Scan on hidx (cost=0.00..31.97 rows=1000 width=0) (actual >> time=114.748..114.748 rows=30605 loops=1) >> Index Cond: (bench_hstore @> '"bench_id"=>"200000_200000"'::hstore) >> Total runtime: 256.211 ms >> >> For Hstore I'm using a GIST index. >> > > Try to create a btree index on "(bench_hstore->bench_id) WHERE > (bench_hstore->bench_id) IS NOT NULL". > >
В списке pgsql-performance по дате отправления: