如果一个表有一个几何类型的列A和一个没有时区类型的timestamp(1)列B,PostgreSQL允许在列A和列B上创建多类型多列索引吗?
the index column : (columnA, column B) 我想在part列A上创建一个gist索引,并在part列columnB上创建一个btree索引;
下面是我的例子,我想优化下面的sql。
SELECT id,content,the_geo,lon,lat,skyid,addtime FROM mapfriends.user_map_book
where the_geo && mapfriends.ST_BUFFER(mapfriends.geometryfromtext('POINT(100.54687 36.06684)'),0.001)
order by addtime desc limit 30 表的索引
db_lbs=> \d mapfriends.user_map_book
Table "mapfriends.user_map_book"
Column | Type | Modifiers
--------------+--------------------------------+-----------------------------------------------------------------------
id | integer | not null default nextval('mapfriends.user_map_book_id_seq'::regclass)
content | character varying(100) |
lon | double precision |
lat | double precision |
skyid | integer |
addtime | timestamp(1) without time zone | default now()
the_geo | mapfriends.geometry |
viewcount | integer | default 0
lastreadtime | timestamp without time zone |
ischeck | boolean |
Indexes:
"user_map_book_pkey" PRIMARY KEY, btree (id)
"idx_map_book_skyid" btree (skyid, addtime)
"idx_user_map_book_atime" btree (addtime DESC)
"user_map_book_idx_gin" gist ((the_geo::box))发布于 2011-09-06 17:09:50
从manual
目前,只有B-树、GiST和GIN索引类型支持多列索引。
试一试吧!
https://stackoverflow.com/questions/7316246
复制相似问题