关于Oracle 8中删除数据的问题!!!

freespider 2001-07-11 09:15:33
在Oracle 8中的一个表中有2万多条记录(约400M),我在sql plus用命令
delete from table;
居然用了近一个小时,请问为什么?
操作命令时,数据库空闲,没有其他程序对数据库进行访问,而且系统也没有执行其他程序。
...全文
114 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
chump 2001-07-13
才2万多记录就这样???
1:硬件配置?
2:主外键约束条件多?表上挂触发器?
  • 打赏
  • 举报
回复
freespider 2001-07-12
太不幸了,我是在服务器上操作的。
  • 打赏
  • 举报
回复
offsider 2001-07-12
如果你用的是客户端,看看是不是hub或者网线的问题吧,
  • 打赏
  • 举报
回复
mycode 2001-07-12
同意clavy(有巢无车氏)的说法
要删除表中的一部分数据,就只能用delete语句了。
  • 打赏
  • 举报
回复
freespider 2001-07-12
to clavy(有巢无车氏):
我不需要回退,也不想写入redo log,只要能尽快的删除就可以,
truncate table yourTable 能删除表中的一部分信息吗?
  • 打赏
  • 举报
回复
clavy 2001-07-12
应该就是这样的速度吧, 它把要删除的记录拷贝到 rollback段里去了。还要写redo log.
查不多就是这速度了。
你要想立马删除记录, 可以用 truncate table yourTable; , 但是不能回退.
  • 打赏
  • 举报
回复
dragonerfish 2001-07-12
在看一下你的temp表空间。
  • 打赏
  • 举报
回复
freespider 2001-07-12
"不应该这样吧" 是对wyzegg(蛋)说的。
我只想删除表中的一部分记录,难道还要先删除索引,删除完后再重新建吗?

to dragonerfish(jimmyyu):
回滚段已设为700M了


  • 打赏
  • 举报
回复
freespider 2001-07-12
不应该这样吧
  • 打赏
  • 举报
回复
dragonerfish 2001-07-12
表有其他约束条件,如索引外键关联删除等,另外,你的回滚段和temp表空间可能设的不够大。
  • 打赏
  • 举报
回复
wyzegg 2001-07-11
表有索引,先删除索引吧
  • 打赏
  • 举报
回复
相关推荐
发帖
Sybase
加入

2589

社区成员

Sybase相关技术讨论区
社区管理员
  • Sybase社区
申请成为版主
帖子事件
创建了帖子
2001-07-11 09:15
社区公告
暂无公告