如何删除正在使用着表的数据 数据库访问量大,速度已经很慢了。在这种情况下,想对一个正在使用着的大表的历史数据删除。这种情况应该如何删除这个表的数据,有什么好的方法尽量不会影响正常业务 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有分区可以删除历史分区。没分区就分批delete吧 分批删除, 一次删除 300、500 ,删除后马上 commit ; declare @n int=1;while (@n<100)beginSET ROWCOUNT 100000;BEGIN TRANDELETE FROM t1; COMMITIF @@ROWCOUNT = 0BREAK;SET ROWCOUNT 0;set @n=@n+1waitfor delay '00:00:02' ;end循环删除,每次删除100000。你可以先看看每次删除多少不会引起表锁,改下SET ROWCOUNT 后面的数。 没分区批量delete dblink建立的步骤有哪些? 超级难求取的数据. 有个笛卡尔积的问题想请教一下 数据库正常,误删了表空间,但只有误删表空间的.dbf数据文件,能恢复数据吗? 求救!关于oracle job 不定时执行。急等! IBM 人才频道即将启动,率先推出“火热”招聘职位 送分问题(第一次在ORCLE中写触发器),如何解决语法错误! 建表的问题,这个表只存一天的数据,对于时间这个字段我该用什么数据类型?详细请进。 这里有不少比较好的oracle技术文章 查询结果行变列的问题请教 如何在oracle中 insert into 多条记录?? oracle如何缩小表空间的大小
declare @n int=1;
while (@n<100)
begin
SET ROWCOUNT 100000;
BEGIN TRAN
DELETE FROM t1;
COMMIT
IF @@ROWCOUNT = 0
BREAK;
SET ROWCOUNT 0;
set @n=@n+1
waitfor delay '00:00:02' ;
end循环删除,每次删除100000。
你可以先看看每次删除多少不会引起表锁,改下SET ROWCOUNT 后面的数。