대단한 내용은 아닌데. 간단한 팁이라 할 수 있겠다.
한 테이블이 있는데, indexing이 3개가 걸려있어서 40만개의 row을 삭제하려고 하니. 시간이 무진장 걸렸다.
너무 걸려서 뒤에 딸려오는 쿼리들을 위해서 killed되었다.
결국 방법은?
limit을 써서 적당하게 쪼개는 것이 좋겠다.
mysql> delete from lgt_logdata where projectname = "google_music" limit 1000;
또는 perl같은 스크립트를 사용하여 적당하게 sleep을 해주면서 처리해주는 센스도 좋을 듯..
'DB' 카테고리의 다른 글
<img src="http://blogimgs.naver.com/nblog/ico_scrap01.gif" class="i_scrap" width="50" height="15" alt="본문스크랩" /> Mysql 백업, 복구, 검사 (mysqldump, myisamchk) (0) | 2008.04.19 |
---|---|
mysql 연결시 다음의 에러 발생 : Communications link failure during commit(). Transaction resolution unknown. (0) | 2008.04.04 |
mysql에서 plan 정보 보기 (0) | 2008.04.02 |
풀 쿼리 스캔의 악영향 (0) | 2008.04.02 |
mytop mysql 모니터링 툴! (0) | 2008.04.02 |