标签: postgresql indexing
我需要一些文本列的索引来增加查询的速度。我不确定我是否可以使用FTS。我的专栏中有类似的内容: 34565A43B2423FRR34AQ和我正在搜索:
WHERE column ~* '5A43B'
我希望能找到这个值。但是表格很大(大约有一百万行)而且时间效率不高。我可以使用什么样的索引?
答案 0 :(得分:2)
FTS不适用于此,这样的字符串无法解析为令牌。有一个扩展可以解决这个问题:wildspeed。您必须先在数据库中安装此模块,然后才能使用它。索引可能非常大,但也可能非常快。
答案 1 :(得分:0)
如果通过将POSIX正则表达式更改为LIKE / ILIKE来重写查询,则可以使用 pg_trgm扩展名。
如:
WHERE column ~~* '%5A43B%'