如何使用反向索引优化like语句

分类:编程技术 时间:2024-02-20 15:26 浏览:0 评论:0
0
本文将详细讲解如何使用反向索引来优化like语句。小编觉得还是比较实用的,所以分享给大家,作为参考。希望您读完本文后有所收获。

原SQL如下:

pcc_cust_infonew表索引如下< /p>

执行设计如下:

这里可以看到SQL执行耗时3.96秒,执行计划中还可以找到PCC_CUST_INFONEW表。 TABLE ACCESS FULL 扫描返回大约 380k 数据,然后使用 INDEX UNIQUE SCAN 和 PCC_CUST_CONTRACTCOMPANY 表主键 PK_PCC_CUST_CONTRACTCOMPANY。这里的缓慢主要是由于执行计划中的步骤3造成的。

我们都知道,在Oracle中,使用like时,索引如果是最后一个%(如'138%')可以使用,但如果是第一个%(如'138%')则不能使用索引“%138”)。正常使用索引。那么如何c顶部%也使用索引?答案是利用反向索引进行优化。

优化如下:

修改索引

调整SQL

p>

经过上述调整后,SQL执行效率提升至毫秒级。

调整后的执行计划如下:

使用反向函数索引后,我们如何使用索引呢?好吧,当你看到执行计划下的谓词信息时,你肯定就知道答案了。

其实就是利用reverse函数index来反转索引数据,其中在 SQL 中反转条件中的值,从而将第一个 % 更改为最后一个 %。

这篇《如何利用反向索引优化like语句》的文章就分享到这里。希望以上内容能够对大家有所帮助,让大家能够学到更多的知识。 ,如果您觉得文章不错,请分享以便更多的人可以看到。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何使用反向索引优化like语句

用户评论