ID 목록에 ID가있는 테이블에서 삭제하는 방법은 무엇입니까?


91

ID 목록 (1,4,6,7)과 ID가이 목록에있는 모든 레코드를 삭제하려는 db 테이블이있는 경우이를 수행하는 방법은 무엇입니까?

답변:


169

귀하의 질문은 이것에 대한 SQL을 거의 철자합니다.

DELETE FROM table WHERE id IN (1, 4, 6, 7)

@jayarjo : 모든 차이는 아마도 무시할 수있을 것입니다.
Matti Virkkunen 2010 년

성능이 편리함을 누릴 수있는 곳입니다. 예를 들어 나는 이미 그것을 하나씩 수행하는 기능을 가지고 있습니다. 그러나 성능이 향상 될 가능성이 있다면 추가 코드를 작성할 수 있습니다. 그렇지 않으면 그만한 가치가 없을 것입니다.
jayarjo 2010-06-09

8
분명히 Oracle 또는 PostgreSQL에서는 하나씩 더 느릴 것입니다. SQL 작업을 여러 개의 작은 작업으로 나누는 것은 성능을 저하시키는 좋은 방법입니다.
David Aldridge

1
In 절의 10,000 개 항목은 약 200 초가 걸렸지 만 1000 개는 3 초 (또는 정규화 된 비교에서 30 초)가 걸렸습니다. 크기는 중요해.
ohmusama

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.