删除表数据非常慢

i03630215 2008-04-29 04:12:16
删除一张有55万条记录的表数据,用 delete from table语句 花了10多分钟,出什么问题了
...全文
168 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
realduke 2008-04-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 OWL_P 的回复:]
如果不是全部删除,该怎么办?
[/Quote]
尽量在where条件中使用索引字段,55万数据不是很多,删除慢的原因有可能是数据库空间碎片太多,需要整理。
jackiecheng001 2008-04-30
  • 打赏
  • 举报
回复
建立一个for循环 删除
for i in 1..100 loop
delete table xx where id >i and id<i+100;
commit;
loop
这样 可以减少redo的缓冲区大小
OWL_P 2008-04-30
  • 打赏
  • 举报
回复
如果不是全部删除,该怎么办?
knowledge_Is_Life 2008-04-30
  • 打赏
  • 举报
回复
没遇到过这种情况.
jimaojian 2008-04-29
  • 打赏
  • 举报
回复
楼上是ORACLE的用法,正解
dawugui 2008-04-29
  • 打赏
  • 举报
回复
truncate table tbname

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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