【发布时间】:2016-02-09 18:37:08
【问题描述】:
有了这张桌子:
=> \d "user"
Table "public.user"
Column | Type | Modifiers
----------------------+-----------------------------+---------------------------------------------------
id | integer | not null default nextval('user_id_seq'::regclass)
email | character varying(255) |
Indexes:
"user_pkey" PRIMARY KEY, btree (id)
"user_email_key" UNIQUE CONSTRAINT, btree (email)
"user_email_idx" gin (email gin_trgm_ops)
此查询未使用 gin 索引:
=> explain select email from "user" where email ilike '%j%';
QUERY PLAN
--------------------------------------------------------------
Seq Scan on "user" (cost=0.00..3986.42 rows=11886 width=22)
Filter: ((email)::text ~~* '%j%'::text)
(2 rows)
为什么?
【问题讨论】:
标签: postgresql database-indexes