收集大型oracle表的统计数据-担心服务器崩溃

收集大型oracle表的统计数据-担心服务器崩溃,oracle,table-statistics,Oracle,Table Statistics,我试图提高Oracle数据库视图的执行时间,这需要很长时间才能加载,而且它涉及一个包含15352595条记录的表。我正在考虑收集关于它的统计数据,因为我怀疑糟糕的性能是由于过时的统计数据造成的 但是,我担心这会给服务器带来很大的负担,我也不太相信它的硬盘(或任何硬件组件)能够承受繁重的工作负载而不会损坏 这真的是一件值得担心的事情吗?您可以收集估算百分比值较低的统计数据 1500万行不是很大。如果您担心影响最终用户的性能,为什么不在晚上/周末运行它?但我想你还有更重要的事情要做——如果你的服务器

我试图提高Oracle数据库视图的执行时间,这需要很长时间才能加载,而且它涉及一个包含15352595条记录的表。我正在考虑收集关于它的统计数据,因为我怀疑糟糕的性能是由于过时的统计数据造成的

但是,我担心这会给服务器带来很大的负担,我也不太相信它的硬盘(或任何硬件组件)能够承受繁重的工作负载而不会损坏


这真的是一件值得担心的事情吗?

您可以收集估算百分比值较低的统计数据

1500万行不是很大。如果您担心影响最终用户的性能,为什么不在晚上/周末运行它?但我想你还有更重要的事情要做——如果你的服务器像你所说的那样脆弱,那么在开始优化性能之前,你应该首先确保你有一个有效的备份策略。@FrankSchmitt我认为你的评论是这个问题的正确答案,这太可怜了,但我这边没有人具备以正确方式备份Oracle的专业技能我想知道的是,风险是否足够低,是否足以进行统计,比如,如果15ml行数实际上太少,不足以导致硬盘崩溃,或者如果统计数据实际上相当安全,不需要担心,那么我可能会正常地走在前面,我会继续计算统计数据。但是如果您想确定,我建议您创建一个较小的测试表(比如实际表的10%),并使用
dbms\u stats.gather\u table\u stats(,…degree=>1)计算统计数据这将确保Oracle不使用并行查询进行分析。如果您的数据库能够处理这个问题,我会继续为您的生产表收集统计数据。