在https://www.postgresql.org/docs/current/static/pgtrgm.html上,解释了如何使用带有gin_trgm_ops选项的特殊GIN码来提高三图相似度算子的性能。
CREATE INDEX trgm_idx ON test_trgm USING GIN (t gin_trgm_ops);还说:
这些索引既不支持相等,也不支持简单的比较运算符,因此您可能也需要一个常规的B树索引。
但是,也有BTREE_GIN扩展,允许使用GIN索引代替BTREE索引。https://www.postgresql.org/docs/current/static/btree-gin.html
我的问题是:如果我安装了BTREE_GIN扩展,pg_trgm GIN索引(带有gin_trgm_ops选项)是否可以替代pg_trgm索引?它是结合了BTREE_GIN和trigram GIN索引的属性,还是还需要额外的BTREE索引来连接和相等表达式等等?
发布于 2016-11-05 13:30:31
不,如果安装btree_gin,可以在“基本”数据类型(如integer、varchar或text )上创建GIN索引。
这通常是无用的,因为您可以不使用常规B树索引就不能更好地使用这样的索引,但是如果您想要创建一个包含具有此类数据类型的列的多色GIN索引,则非常有用,例如,如果您想为像tscol @@ to_tsquery('big data') AND intcol = 42这样的表达式创建一个组合索引。
https://stackoverflow.com/questions/40409997
复制相似问题