我使用的是Oracle 11g。
很多时候我需要办理登机手续
统计$
表和快照表,如果索引已使用或没有。
我的问题是 - 是否有任何缺点或问题需要使用
监控用途
我的所有索引?把它们都放在里面。
也许构建一个在每个新索引上执行它的过程?
非常感谢。
答案 0 :(得分:2)
指数监控在12.2之前存在严重问题:
1)布尔标志通常不足以合理确定是否保留索引。该索引是否曾使用过1次,因为开发人员使用提示强制索引或索引被调用了数百次?
2)检查发生在解析阶段,而不是执行阶段。 (请参阅前一点,为什么这是一个问题)。
3)会对性能产生影响。虽然这种性能影响很小,特别是如果您只为单个索引打开它,如果您尝试在系统范围内为所有索引打开它,那么这种影响会更大。
索引监控旨在为单个索引(或一小组索引)启用,等待一段合理的时间,然后将其关闭并检查统计信息。它并不意味着一直都在。
在12.2中,索引监控已经彻底检修,因此默认情况下它对所有索引都开启(我很确定你甚至无法将其关闭)。 Oracle在很大程度上解决了以前Oracle版本中索引监控的大部分问题:性能影响是无关紧要的,更有意义的统计数据(实际使用的次数),统计数据在执行阶段更新,而非解析阶段。 / p> Tim Hall对索引监控here做了很好的准备。 Connor McDonald有一个优秀的YouTube视频,关于为什么Index Monitoring在12.2之前出现问题,以及Oracle为解决这些问题所做的工作here(从19:15 - 27:05开始观看)。