在以下命令中,什么是最好的?
哪一个提高了数据库的性能?
发布于 2011-02-22 17:18:56
它们都提高了数据库性能(或者更确切地说,它们都收集了将由oprtimiser使用的统计信息,并可能提高性能)。GATHER_SCHEMA_STATS收集架构中所有对象的统计信息。GATHER_TABLE_STATS只为一张桌子做这件事。您可以在文献资料中阅读有关它们的所有内容。
发布于 2011-02-22 17:24:46
两者都有。两样都没有。视情况而定。
你所说的“数据库性能”是什么意思?收集现有表和索引上的统计信息可能会有所帮助,如果这些统计数据已经过时。但是,它们并不能代替添加有用的索引,以供问题查询使用。
更新一个表上的状态可能是解决问题所需的全部内容。更新所有索引列的状态可能是正确的。或者,从性能的角度来看,这些可能不是您正在处理的问题。好的索引无助于编写糟糕的查询。
您需要弄清楚什么具体是慢的,然后才能弄清楚如何修复它。当然,对于整个数据库来说,没有一个油门踏板--不管我们都多么希望如此。
发布于 2011-02-22 17:32:50
甲骨文从10g开始就定期收集统计数据。你有没有注意到标准的聚会太少,或者在你的情况下不够详细?默认的estimate_percent < 100可以导致不良计划在10g。
统计数据收集可能是您将要应用的优化之一,但我们无法事先知道。在增强Oracle的默认统计信息收集之前,您将查找不使用手动收集的统计信息选择的次优查询计划。
Cary Millsap的这篇优秀论文可能会对您有所帮助:详细资料/44-思考-明确-绩效
https://stackoverflow.com/questions/5081448
复制相似问题