为什么SQL在plsql里执行出的时间和执行计划的不相符

2024-12-05 09:19:10
推荐回答(1个)
回答(1):

别用PLSQL DEVELOPER ,放在SQL PLUS里执行,就能看出了。

另外,程序开始跟结尾用 dbms_output.putline() 输出一下系统时间,就能判断出来执行时间。

要是非用PLSQL DEVELOP ,也可以按F5,看看执行计划。

如果有 FULL SCAN之类的,就是全表扫描了,估计数据量大的时候,没有建立或利用上索引,执行会比较慢。

数据量小的时候,要看是不是做跟一个大表的关联,看看大表关联是不是用到索引了,用到了也慢不到那里去,要是没用到的话,就慢了。

这个问题不好讲具体是那里出的问题,比如CACHE的命中也会影响,前5K都是连续命中,哪就很快,后5K都是间隔命中,哪就多次I/O,肯定就慢!