digoal/blog

pg按任意字段搜索不支持排序

hupengzsy opened this issue · 1 comments

pg得bitmap 可以组合多个列 b树索引,达到按任意字段组合搜索,但是按某个字段排序之后,就只能要么走排序字段索引,要么走条件字段索引,导致性能较差。

gin索引数据结构并不是b数, 是倒排, 每个元素一个list或者tree, 存储ctid(行号), 所以任意字段搜索无法支持排序.
如果有任意字段组合查询, 并基于某些字段排序的要求, 暂时只能创建多个组合的btree索引. 空间换时间.
例如(a,b,c) where a=? and b=? order by c
也仅仅能满足等值and的组合.