数据库频繁地删除数据有什么影响吗

ping3136 2012-12-14 03:59:54
数据库频繁地删除数据,时间久后对数据库性能有影响吗?或其它什么问题
...全文
1184 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Galen_Gao 2012-12-17
  • 打赏
  • 举报
回复
引用 4 楼 linwaterbin 的回复:
1)考虑延迟的块清除,在做大量的数据delete,建议应做一次查询,全表扫描。清除数据块中的uncommited的标记,以后的查询可以不用去undo里去找 2)考虑HWM的问题。insert以后提升hwm,delete并不降低hwm。而select做全表扫描时总是会扫描hwm以下得所有block。所以建议定期对该表进行整理。可以用 alter table your……
你这个是把表空间对应的那个表移除了表空间吗?那以后的数据不存在这个表空间了?
jianglili130 2012-12-17
  • 打赏
  • 举报
回复 1
引用 2 楼 gaohuirong08 的回复:
引用 1 楼 BenChiM888 的回复: 1、看你删除的时机,系统繁忙时候,肯定有影响,当然如果这就是业务步骤里面的一环,此点可以忽略 2、看你提交的实际 commit的过快,会造成数据库单位时间内 事务 数量过大 commit的过慢,会影响数据库undo表空间的使用 用delete删大量的数据,我看了下好像表空间的利用率没有降,有没有什么办法,感觉delete后有很……
回复2楼 可以通过降低表的高水位线来实现 ALTER TABLE 表名 ENABLE ROW MOVEMENT;
BenChiM888 2012-12-14
  • 打赏
  • 举报
回复
引用 2 楼 gaohuirong08 的回复:
引用 1 楼 BenChiM888 的回复:1、看你删除的时机,系统繁忙时候,肯定有影响,当然如果这就是业务步骤里面的一环,此点可以忽略 2、看你提交的实际 commit的过快,会造成数据库单位时间内 事务 数量过大 commit的过慢,会影响数据库undo表空间的使用 用delete删大量的数据,我看了下好像表空间的利用率没有降,有没有什么办法,……
在业务空闲的时候,进行 shrink tablespace 或者 move table 或者 exp/imp expdp/impdp shrink tablespace 10g开始支持
linwaterbin 2012-12-14
  • 打赏
  • 举报
回复
1)考虑延迟的块清除,在做大量的数据delete,建议应做一次查询,全表扫描。清除数据块中的uncommited的标记,以后的查询可以不用去undo里去找 2)考虑HWM的问题。insert以后提升hwm,delete并不降低hwm。而select做全表扫描时总是会扫描hwm以下得所有block。所以建议定期对该表进行整理。可以用 alter table yourtbname move tablespace indx; alter table yourtbname move tablespace users; 并重建该表所对应得索引
lookat800 2012-12-14
  • 打赏
  • 举报
回复
会锁表~~ 会导致高水位
Galen_Gao 2012-12-14
  • 打赏
  • 举报
回复
引用 1 楼 BenChiM888 的回复:
1、看你删除的时机,系统繁忙时候,肯定有影响,当然如果这就是业务步骤里面的一环,此点可以忽略 2、看你提交的实际 commit的过快,会造成数据库单位时间内 事务 数量过大 commit的过慢,会影响数据库undo表空间的使用
用delete删大量的数据,我看了下好像表空间的利用率没有降,有没有什么办法,感觉delete后有很多碎片之类,有清理办法吗。数据库不能停的哈。
BenChiM888 2012-12-14
  • 打赏
  • 举报
回复
1、看你删除的时机,系统繁忙时候,肯定有影响,当然如果这就是业务步骤里面的一环,此点可以忽略 2、看你提交的实际 commit的过快,会造成数据库单位时间内 事务 数量过大 commit的过慢,会影响数据库undo表空间的使用

17,378

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧