执行EXPLAIN ANALYZE后,发现PG根本没使用GIN索引,而是使用了全表扫描。但是如果去掉LMIT 1,查询将使用索引,执行只需要5ms。为什么PG会忽略索引? PG的查询规划器并不是真正基于人们做一些荒唐的事情。比如使用ILIKE进行全表扫描,关心的是走索引快还是全表扫描快。变量random_page_cost用于决定使用索引的代价是否值得,或...