设为首页 加入收藏

TOP

一个SQL Tuning例子(三)
2014-11-24 02:42:27 来源: 作者: 【 】 浏览:9
Tags:一个 SQL Tuning 例子
via SQL*Net TO client
509 bytes received via SQL*Net FROM client
1 SQL*Net roundtrips TO/FROM client
1 sorts (memory)
0 sorts (disk)
0 ROWS processed
反映说这个sql非常慢,但看执行计划,老实说基本上都是正常的,最开始就发现有个全表scan的:

| 70 | TABLE ACCESS FULL | S_CASE | 1 | 64 | 2 (0)| 00:00:01 |
问了下同事说这个表记录为0,问题不是关键。比较怪异的地方是:

sql 条件里面:

(T33.CELL_PH_NUM LIKE '13912345678')
而对于的执行计划是下面这样的:

36 - access("T33"."CELL_PH_NUM"='13912345678')
最开始没引起重视,确实没想到,还让同事做了10046和10053都没看出来。最后以前的技术总监看出来了,
当然最后我是恍然大悟。

原因是oracle 这里把like 当成= 去执行了。最后把参数_like_with_bind_as_equality 调整为true后解决问题。

补充:这个参数在10g,11g中默认都为false

摘自 http://www.killdb.com/2012/02/25/a-sql-tuning-sample. html
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle锁表解除 下一篇Oracle中SQLPLUS的常用指令收集与..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: