本文共 1832 字,大约阅读时间需要 6 分钟。
磨砺技术珠矶,践行数据之道,追求卓越价值
回到上一级页面: 回到顶级页面:[作者 高健@博客园 luckyjackgao@gmail.com]
由于数据少,执行计划中没有使用Index Scan
postgres=# CREATE TABLE items (postgres(# itemid serial NOT NULL PRIMARY KEY,postgres(# itemname text NOT NULL,postgres(# tags hstore);NOTICE: CREATE TABLE will create implicit sequence "items_itemid_seq" for serial column "items.itemid"NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "items_pkey" for table "items"CREATE TABLEpostgres=# postgres=# INSERT INTO items (itemname, tags) VALUES ('item1', 'color => red, category => stuff');INSERT 0 1postgres=# postgres=# INSERT INTO items (itemname, tags) VALUES ('item2', 'color => green, category => manager');INSERT 0 1postgres=# postgres=# CREATE INDEX hstoreidx ON items USING gist(tags);CREATE INDEXpostgres=# postgres=# SELECT itemname FROM items WHERE tags @> 'color=>red'; itemname ---------- item1(1 row)postgres=# SELECT itemname FROM items WHERE tags @> 'color=>green'; itemname ---------- item2(1 row)postgres=# SELECT itemname FROM items WHERE tags @> 'color=>blue'; itemname ----------(0 rows)postgres=# EXPLAIN SELECT itemname FROM items WHERE tags @> 'color=>red'; QUERY PLAN ------------------------------------------------------ Seq Scan on items (cost=0.00..1.02 rows=1 width=32) Filter: (tags @> '"color"=>"red"'::hstore)(2 rows)postgres=# postgres=# SELECT itemname FROM items WHERE tags ? 'color'; itemname ---------- item1 item2(2 rows)postgres=# EXPLAIN SELECT itemname FROM items WHERE tags ? 'color'; QUERY PLAN ------------------------------------------------------ Seq Scan on items (cost=0.00..1.02 rows=1 width=32) Filter: (tags ? 'color'::text)(2 rows)postgres=#
本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/3351469.html,如需转载请自行联系原作者