今天出来了一个数据库压力,说起来这个案例很多人都遇到过,我也看见过,今天终于亲自遇到处理了下,记录下呵呵
看法他们写的程序产生报表,说很慢,到数据库的机器上去,做了个awr
发现一个sql
select *********from ***************
看了下执行计划没有问题
但是awr采集到的,还有从操作系统那top看见的耗资源的进程看还是这个sql有问题,自习研究了下,pid类型是varchar2类型的,但这是用的是绑定变量就不知道开发他们怎么定义的了,为了准确的定位问题,做了sql跟踪,具体方法这就不介绍了,网上一搜一大片都是,找到sql部分看见的sql却没有走索引,其中 一个表还全表扫描,现在问题知道的差不多了,把他们程序拿来看下发现他们在定义pid的时候定义成了number。
这个算是一个很典型的表字段定义问题,以后sql优化中一定要注意字符的匹配。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16719800/viewspace-663137/
,如需转载,请注明出处,否则将追究法律责任。