对两表都做统计查询结果如下(都经过了至少10次以上的测试)
表a 表b
数据库a 0.11~0.125 s 220 条记录 2.8~12 s 268700 条记录
数据库b 0.015~0.031 s 127 条记录 0.031~0.047 s 226933 条记录另: 数据库a的表b HWM 7700多,used blocks是 3500多
数据库b的表b HWM 2700多,used blocks是 2500多
数据库a,b在不同的服务器上,都做过表分析,a中表b分析后数据变化量较大,b中表b没变过。
问题是对表b统计的时间差为什么那么大.
表a 表b
数据库a 0.11~0.125 s 220 条记录 2.8~12 s 268700 条记录
数据库b 0.015~0.031 s 127 条记录 0.031~0.047 s 226933 条记录另: 数据库a的表b HWM 7700多,used blocks是 3500多
数据库b的表b HWM 2700多,used blocks是 2500多
数据库a,b在不同的服务器上,都做过表分析,a中表b分析后数据变化量较大,b中表b没变过。
问题是对表b统计的时间差为什么那么大.
1. 2个服务器是否一样?
2. 数据库是否一样?
3. 在不同服务器上,他们的执行计划是否一样?
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
因为ORACLE在选择执行计划的时候就是基于收集的这些统计信息的
如果统计信息不足或者过于陈旧而不能反应出表当前的情况
那么产生的执行计划可能就不合适 造成不必要的资源浪费