如何删除数据表大量数据

时间:2021-06-26 22:16:30
请问如何删除ORACLE 表里大量数据 用DELETE 没有反应 出现

ORA-12152: TNS: 无法发送中断消息

13 个解决方案

#1


你的SQL语句如何写的??

#2


如果確定是要刪除的---如果確定,就用Truncate...
Truncate更快更直接,但沒有Rollback的功能..

#3


Truncate清空整個Table..
看LZ的錯誤信息,建議重新連接數據庫再執行一遍試試..可能網絡問題

#4


Truncate

#5


用delete语句就行了.

#6


因为数据量大的问题,用delete语句如果不及时提交可能给写日志缓冲带来问题,很大程度上影响性能。
如果你确定要将表的数据全部删掉,可以考虑使用truncate,但不会有日志生成,不能rollback。

如果只是删除部分,使用delete时最好分批提交delete操作以释放回滚段,如每删1000条提交一次。
另外需要注意的是:
delete操作不会释放表空间,保持所占空间的高水线不动。
delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. 
truncate是ddl,操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger. 没有备份的情况下小心使用。
速度上:truncate>delete

#7


skystar99047(天星) 高!

#8


如果是删除所有记录的话,建议直接drop该表。

再重新建个表,速度超快!

^_^

#9


skystar99047(天星) 说的不错

#10


skystar99047(天星) 说的很详细了。

lz自己考虑一下自己的需求是什么

#11


如果只是删除部分,使用delete时最好分批提交delete操作以释放回滚段,如每删5000条提交一次。

#12


楼主出现的问题可能是因为网络问题造成了连接瞬时中断,所以无法发送消息。

truncate与delete的用法楼上的都已作了解释了,使用truncate时千万小心谨慎,
另外对truncage与delete解释可以再参看一下
http://community.csdn.net/Expert/topic/5324/5324261.xml?temp=.4794733
这个贴子

#13


drop table 虽然快但并不合适,因为重新建立表的话,和表相关的数据库对象,比如索引都
需要重新建立,太烦琐
如果全部删除记录的话还是
用truncate 比较合适

#1


你的SQL语句如何写的??

#2


如果確定是要刪除的---如果確定,就用Truncate...
Truncate更快更直接,但沒有Rollback的功能..

#3


Truncate清空整個Table..
看LZ的錯誤信息,建議重新連接數據庫再執行一遍試試..可能網絡問題

#4


Truncate

#5


用delete语句就行了.

#6


因为数据量大的问题,用delete语句如果不及时提交可能给写日志缓冲带来问题,很大程度上影响性能。
如果你确定要将表的数据全部删掉,可以考虑使用truncate,但不会有日志生成,不能rollback。

如果只是删除部分,使用delete时最好分批提交delete操作以释放回滚段,如每删1000条提交一次。
另外需要注意的是:
delete操作不会释放表空间,保持所占空间的高水线不动。
delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. 
truncate是ddl,操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不触发trigger. 没有备份的情况下小心使用。
速度上:truncate>delete

#7


skystar99047(天星) 高!

#8


如果是删除所有记录的话,建议直接drop该表。

再重新建个表,速度超快!

^_^

#9


skystar99047(天星) 说的不错

#10


skystar99047(天星) 说的很详细了。

lz自己考虑一下自己的需求是什么

#11


如果只是删除部分,使用delete时最好分批提交delete操作以释放回滚段,如每删5000条提交一次。

#12


楼主出现的问题可能是因为网络问题造成了连接瞬时中断,所以无法发送消息。

truncate与delete的用法楼上的都已作了解释了,使用truncate时千万小心谨慎,
另外对truncage与delete解释可以再参看一下
http://community.csdn.net/Expert/topic/5324/5324261.xml?temp=.4794733
这个贴子

#13


drop table 虽然快但并不合适,因为重新建立表的话,和表相关的数据库对象,比如索引都
需要重新建立,太烦琐
如果全部删除记录的话还是
用truncate 比较合适