테이블의 데이터중 일주일 전꺼는 삭제할려고 아래 쿼리를 돌렸는데
delete from AAA where mdate < convert(char(10),DATEADD(day,-7,getdate()),121) + ' 00:00:00.000'
쿼리 실행 시간만 엄청 걸리고
완료가 안되 삭제가 안됩니다.
이런 경우는 어떤 이유 때문일까요??
데이터가 그리 많은것도 아닌데(10만건정도)
락이 걸린건가요?
Comment 3
-
catchv
2014.05.07 13:17
-
항해자™
2014.05.07 13:23
아래 구문을 while로 실행해 보세요,,,
delete top 1000
from AAA
where mdate < convert(char(10),DATEADD(day,-7,getdate()),121) + ' 00:00:00.000' -
Hisory
2014.05.07 13:23
처음 삭제하는것이면 건수를 좀 나눠서 삭제해보시는거도 방법일듯합니다.
해당 테이블이 많이 사용되는 테이블이라면 문제가 생길수 있거든여
날짜 값으로 group by 를 해보고 각 일자별로 count 를 체크해보신후 일자별로 삭제해보세요...
단정지을 수는 없지만
인덱스가 많은지 확인해 보세요. 경험상 인덱스가 많을 경우 생각보다 많이 느리더군요.
락은 돌리고 확인해 보시면 될 것 같은데요...