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

freespider 2001-07-11 09:15:33
在Oracle 8中的一个表中有2万多条记录(约400M),我在sql plus用命令
delete from table;
居然用了近一个小时,请问为什么?
操作命令时,数据库空闲,没有其他程序对数据库进行访问,而且系统也没有执行其他程序。
...全文
163 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
表有索引,先删除索引吧

2,598

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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