ITPub博客

首页 > 数据库 > PostgreSQL > 前%的处理--PostgreSQL

前%的处理--PostgreSQL

原创 PostgreSQL 作者:xuexiaogang 时间:2023-03-08 09:16:29 0 删除 编辑

 上周我写了Oracle处理前%的文章,我后来研究了一下PostgreSQL的反向索引。建立表qq,表结构如下:


重点是建立一个反向索引。 create index q2 on qq ( reverse(b) collate "C"); 这里开始建立不顺,和几位PG大佬交流了一下。这里的写法和Oracle有所不同。多了collate "C"

注意这里的B列的数据类型是字符串。如果在a列上这样做是报错的,因为a列是int型的。

最终SQL是:select * from qq where reverse (b) like reverse('%1234');


    查看执行计划,用到了索引。看最终实现也符合预期。这个索引和SQL在实现上和Oracle是一模一样。当然这里数据也要多一些,10几条是不行的,这个也和Oracle差不多,一般都是1万多条数据起作用。

MySQL的话十几条数据就能模拟出全表或者是使用索引。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/637517/viewspace-2938559/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
OracleACE/PostgreSQLACE/阿里云MVP/腾讯云TVP/墨天轮 MVP/TiDBMVA/数盟会华东区长老/OpenTenBase社区委和技术委委员/架构师技术同盟名人堂成员上海地区理事会成员/if社区联合发起人/《DBA实战手记》作者/公众号:四海内皆兄弟

注册时间:2013-07-01

  • 博文量
    422
  • 访问量
    953364