> 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".