我有一个带有文本字段的大表,并希望对此表进行查询,以使用ILIKE查找包含给定子字符串的记录。它适用于小型表,但在我的情况下,它是一个相当耗时的操作,我需要它快速工作,因为我在我的网站的实时搜索字段中使用它。任何想法将不胜感激......
答案 0 :(得分:1)
查看Waiting for 9.1 – Faster LIKE/ILIKE的depesz博文,了解使用trigrams的解决方案。
你需要使用尚未发布的Postgresql 9.1。而且你的写入会慢得多,因为三元组索引是巨大的。
全文搜索suggested by user12861只有在您搜索字词时才有用,而不是在搜索字符串。
答案 1 :(得分:0)
您可能希望查看全文索引。它有点复杂,也许其他人可以提供更好的描述,或者你可能尝试一些链接,例如这个: http://wiki.postgresql.org/wiki/Full_Text_Indexing_with_PostgreSQL