最近坛子里的朋友们热烈的讨论了优化器和统计收集的话题.
在这里我提运维中一个常见的问题,请各位发表下看法.
对CBO引擎来说,统计数据的收集对性能优化是至关重要的.
而对于数据巨大和众多索引的表的统计数据收集是个相当消耗时间和资源的操作.
在大型OLTP系统中,白天跑ONLINE,晚上跑BATCH是非常常见的运行模式.
很多时候是没有充足的时间来给我们进行收集操作的.
(N年前曾遇到过一家客户拒绝提供给统计数据收集的时间)
问题:
应该选取什么时机和什么方式进行RUNSTATS才更有效率更有效果.
我先来个:
在大量数据LOAD后,应该马上对表和索引进行完整的统计数据收集,
并在事先的估算中,把统计数据收集的时间记在LOAD操作的帐上.
收起