社区
Sybase
帖子详情
关于Oracle 8中删除数据的问题!!!
freespider
2001-07-11 09:15:33
在Oracle 8中的一个表中有2万多条记录(约400M),我在sql plus用命令
delete from table;
居然用了近一个小时,请问为什么?
操作命令时,数据库空闲,没有其他程序对数据库进行访问,而且系统也没有执行其他程序。
...全文
182
11
打赏
收藏
关于Oracle 8中删除数据的问题!!!
在Oracle 8中的一个表中有2万多条记录(约400M),我在sql plus用命令 delete from table; 居然用了近一个小时,请问为什么? 操作命令时,数据库空闲,没有其他程序对数据库进行访问,而且系统也没有执行其他程序。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
表有索引,先删除索引吧
oracle
11g官方
中
文帮助文档 高清完整版
oracle
11g官方
中
文帮助文档,压缩文件。
Tianlesoftware
Oracle
学习手册(v1.0)高清完整PDF版
Tianlesoftware
Oracle
学习手册(v1.0)
Oracle
数据
恢复—
Oracle
被误删表不要慌!掌握如何恢复
Oracle
表!
北京某国企客户
Oracle
11g R2
数据
库误truncate table CM_CHECK_ITEM_HIS,表
数据
丢失,业务查询到该表时报错,
数据
库的备份不可用,无法查询表
数据
。
Oracle
数据
库执行Truncate命令的原理:在执行Truncate命令后
ORACLE
会在
数据
字典和SegmentHeader
中
更新表的DataObjectID,但不会修改实际
数据
部分的块。由于
数据
字典与段头的DATA_OBJECT_ID与后续的
数据
块
中
的并不一致,所以
ORACLE
服务进程在读取全表
数据
时不会读
Oracle
数据
库
删除
重复
数据
Oracle
数据
库
中
如何
删除
重复
数据
。 第一种情况:部分字段重复
数据
的
删除
先查询出那些
数据
是重复的: select 字段1 ,字段2 ,count(*) from 表名 group by 字段1 ,字段2 having count(*) > 1; 将上面的大于>号改为等于=号就可以查询出没有重复的
数据
了。
删除
这些重复的
数据
,可以使用下...
Oracle
删除
重复
数据
Oracle
删除
重复并保留一条
数据
1、查询重复
数据
根据id分组查询,查询数量大于1的,即为有重复的
数据
。 select id, count() from table_name t group by t.id having(count() > 1); 2、
删除
重复并保留一条
数据
根据id分组
删除
每组
中
除了rowid最小的
数据
。 delete from table_name t where t.rowid not in (select min(rowid) from table_name t1 wh
Sybase
2,598
社区成员
25,609
社区内容
发帖
与我相关
我的任务
Sybase
Sybase相关技术讨论区
复制链接
扫一扫
分享
社区描述
Sybase相关技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章