【oracle优化】优化含LIKE的SQL语句(1)
1、下面我们逐一介绍,首先我们看一下第一种情况,也就是%在尾的这种情况。现场创建一张测试表t1,并将t1表灌入100万条测试数据。

3、不用建索引,我们直接进行update操作,先看一下全表扫描情况的资源消耗情况,通过下图可以看到t1在update时全表扫描逻辑读达到61672

5、我们再次执行同样的update操作,观察一下该sql的执行计划,通过下图可以看到t1在update时已经选取了我们的索引,而且逻辑读只有650

7、下面我们创建反向索引

9、最后介绍一下两头都有%这种情况,一般这种情况,我们使用instr函数来替代like,但是根据下图显示,oracle优化器选择了全表扫描,效果肯定不理想。

11、再次执行update,通过下图可见,oracle优化器已经利用我们创建的函数索引,效果也比like‘%%’好的多。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:86
阅读量:53
阅读量:88
阅读量:41
阅读量:57