Postgresql ILIKE与TSEARCH

编程入门 行业动态 更新时间:2024-10-16 00:24:40
本文介绍了Postgresql ILIKE与TSEARCH的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

SELECT * FROM some-table WHERE field1 ILIKE%thing% OR field2 ILIKE%thing OR field3 ILIKE%thing;

列几乎都是varchar(50)或其附近。现在我明白为了提高性能,我应该为搜索所在的领域编制索引。我应该考虑用TSEARCH完全取代ILIKE吗?

解决方案全文搜索设置与包含 。它阻止了单词等,所以你可以匹配汽车与汽车。

如果你真的想要一个快速ILIKE,那么没有标准数据库索引或FTS会有帮助。幸运的是,pg_trgm模块可以做到这一点。

  • www.depesz/2011/02/ 19 /等待9-1 - 更快 - likeilike /

I have a query with a number of test fields something like this:

SELECT * FROM some-table WHERE field1 ILIKE "%thing%" OR field2 ILIKE "%thing" OR field3 ILIKE "%thing";

The columns are pretty much all varchar(50) or thereabouts. Now I understand to improve performance I should index the fields upon which the search operates. Should I be considering replacing ILIKE with TSEARCH completely?

解决方案

A full text search setup is not identical to a "contains" like query. It stems words etc so you can match "cars" against "car".

If you really want a fast ILIKE then no standard database index or FTS will help. Fortunately, the pg_trgm module can do that.

  • www.postgresql/docs/9.1/static/pgtrgm.html
  • www.depesz/2011/02/19/waiting-for-9-1-faster-likeilike/

更多推荐

Postgresql ILIKE与TSEARCH

本文发布于:2023-10-15 08:51:53,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Postgresql   ILIKE   TSEARCH

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!