PostgreSQL优化SQL like ‘%%‘

PostgreSQL优化SQL like '%%'

先写怎么实现,原理再议(弱鸡的我目前还没搞懂):
简单原理是:一般数据库像like’%%‘不一定支持使用索引,但是postgresql的gin + gp_trgm支持like’%%'使用索引。但是gin 索引也有弊端,以下情况可能导致无法命中:

  1. 搜索字段少于3个字符时,不会命中索引,这是gin自身机制导致。
  2. 当搜索字段过长时,比如email检索,可能也不会命中索引,造成原因暂时未知。

使用:
创建扩展:CREATE EXTENSION pg_trgm;
创建索引:create index 索引名称 on 表名using gin (字段名 gin_trgm_ops);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值