MyISAM 스토리지 엔진을 사용하는 MySQL 데이터베이스로 작업하고 있습니다. 다중 테이블 삭제 구문을 사용합니다. 지금까지 한 번에 여러 자식 테이블에서 삭제해야 할 때만 사용했습니다. 하지만 하나의 쿼리에서 여러 자식 테이블 및 부모 테이블을 삭제하는 데 사용하는 것이 좋습니다.여러 테이블 DELETE 문이 좋지 않습니까? 왜?
최근에 저는 여러 테이블에서 한 번에 삭제하는 것이 좋지 않다고 말하는 SO 및 다른 포럼에 대한 몇 가지 게시물을 보았습니다. 그러나 포스터 중 어느 것도 을 설명하지 않은 이유는 무엇입니까 추천하지 않습니다.
테이블이 처리되는 순서를 제어 할 수 없으므로 외래 키 제약 조건이있는 InnoDB 테이블과 관련된 다중 테이블 삭제 문제가있을 수 있음을 이해합니다. 필자의 경우에는 문제가되지 않습니다.
여러 테이블 삭제가 모든 테이블에서 삭제되거나 삭제되지 않는다고 생각했습니다. 그러나 그것이 사실인지 아닌지에 대한 정보를 찾을 수는 없습니다. 부분적으로 성공할 수 있으면 데이터가 손상됩니다.
여러 개의 MyISAM 테이블을 동시에 삭제하는 것은 좋지 않은가요? 항상 나쁜 생각입니까 아니면 부모/자녀 관계가있을 때만입니까? 이유를 설명하십시오.
기록을 위해 현재이 프로젝트에서는 InnoDB 로의 변경이 옵션이 아닙니다.
테이블 자체를 삭제 또는 삭제했거나이 테이블 (부모 및 자식)의 레코드를 참조 했습니까? – Edper
나는 테이블에 기록을 언급하고 있었다. – toxalot