Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Oracle-分区的渊源-更新中大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

思维导图

概述

@R_874_9421@e from t where create_time < to_date('2017-01-01','yyyy-mm-dd');

当我们看到这条语句时,会想到什么呢? 一条再简单不过的按照条件删除数据库的操作。 如果大量存在,会不会引起系统性能问题呢?

当这个表的数据足够大时,按照这样的方式来清除数据,代价无疑是非常高昂的。

我们提出使用分区的方式来解决这个问题。比如 保留历史数据的骨折是,删除最早一个月的数据,按照这个需求,将需要删除数据的表,改为分区表。 按照每个月一个分区的方式创建分区表

这样做的结果是,以前的@R_874_9421@e操作就变成了下面的操作:

alter table t drop partition p_name 或者 alter table t truncate partiton p_name ;

这个操作对已一个几GB数据的分区表来讲,执行时间不超过10S。

比起使用分区来操作数据,@R_874_9421@E方式操作数据的问题是显而易见的,至少存在如下两点:

  • 消耗大量的系统资源
  • 无法释放空间

@R_874_9421@E与系统资源

在@R_874_9421@E操作中,@R_419_5967@首先要扫描表或者索引找到符合条件的记录,然后把他们删除,这个过程中将消耗大量的cpu资源和产生大量的I/O,同时还会产生大量的undo数据。

下面是一个简单的栗子,我们可以看出@R_874_9421@e相对于drop或者truncate对资源的消耗情况:

这里写代码片

@R_874_9421@E与释放空间

大佬总结

以上是大佬教程为你收集整理的Oracle-分区的渊源-更新中全部内容,希望文章能够帮你解决Oracle-分区的渊源-更新中所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: