2014-05-20 1 views
0

테이블의 데이터 풀이 많습니다. 레코드 수는 수백만 개입니다. 타임 스탬프 (필드)를 기준으로합니다. 월 단위로 데이터를 제거합니다. 이 작업에는 몇 시간이 걸립니다.MySQL + Django에서 조건부 데이터 삭제

나는 타임 스탬프 필드에 이미 색인을 붙였습니다.이 응용 프로그램은 Apache2 + md_wsgi + Django + MySQL 스택에서 작동하고 있다고 추가해야합니다.

스마트하고 효과적인 방법이 있습니까?

+0

지금 어떻게합니까? – knbk

+0

@knbk'where' 절로'delete' 쿼리를 사용하여 삭제하십시오. – akm

+0

이전 데이터를 더 빈번하게 삭제할 수 있습니까, 일일 1 회 말)? 작은 청크를 삭제하면 쿼리 속도가 크게 빨라집니다. – knbk

답변

1

간단한 bash 스크립트를 작성하여 일반 SQL 쿼리를 사용하여 모든 삭제 마법을 수행 할 수있는 cron에 넣을 수도 있습니다.

mysql --host=localhost --user=user --password=password << END 

DELETE FROM `table_name` WHERE `tm_field` >= 'YYYY-MM-dd HH:mm:ss' 

END 

SQL 쿼리는 ORM에 비해 가벼우 며 작은 척으로 데이터를 삭제하면 자주 도움이 될 수 있습니다.