对PostgreSQL数据库的hstore类型建立GisT索引的实验

磨砺技术珠矶,践行数据之道,追求卓越价值
回到上一级页面:PostgreSQL基础知识与基本操作索引页    回到顶级页面:PostgreSQL索引页
[作者 高健@博客园  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 TABLE
postgres=# 
postgres=# INSERT INTO items (itemname, tags) VALUES ('item1', 'color => red, category => stuff');
INSERT 0 1
postgres=# 
postgres=# INSERT INTO items (itemname, tags) VALUES ('item2', 'color => green, category => manager');
INSERT 0 1
postgres=# 
postgres=# CREATE INDEX hstoreidx ON items USING gist(tags);
CREATE INDEX
postgres=# 
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=# 

 

[作者 高健@博客园  luckyjackgao@gmail.com] 
回到上一级页面:PostgreSQL基础知识与基本操作索引页    回到顶级页面:PostgreSQL索引页
磨砺技术珠矶,践行数据之道,追求卓越价值

posted @ 2013-10-04 14:16  健哥的数据花园  阅读(799)  评论(0编辑  收藏  举报