Index
ilike 搜尋真的使用它的索引嗎?
我有一個名為暱稱的列,並為它創建了索引。
create index test_idx on test_table using btree (nickname);
我的疑問是,
select * from test_table where nickname ilike '%pga%';
test_table 有大約 10 萬條記錄。當我解釋時,我得到了一些與創建索引之前相同的成本。這是為什麼。?
(使用 Postgresql 9.2)
編輯1:
暱稱列的字元不同(100)
LIKE
在表達式開頭帶有萬用字元的不能使用 btree 索引。為了使該查詢使用索引,您需要創建一個 trigram 索引,您需要首先為其安裝pg_trgm擴展。create index on test_table using gin (nickname gin_trgm_ops);