前%的处理--PostgreSQL

来源:这里教程网 时间:2026-03-14 20:53:47 作者:

 上周我写了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的话十几条数据就能模拟出全表或者是使用索引。

相关推荐