2010-06-19 20 views

Odpowiedz

10

Pamiętaj, że NOT IN może być naprawdę powolny. Czasami - co jest zaskakujące - szybciej jest zrobić coś takiego:

DELETE FROM items WHERE id IN 
(SELECT id FROM items EXCEPT SELECT item_id FROM users) 
+0

Jest to dobre w niektórych innych językach SQL, ale MySQL nie obsługuje opcji EXCEPT. – earl3s

5
DELETE FROM items WHERE id NOT IN (SELECT item_id FROM users) 

(używa subquery aby zaznaczyć wszystkie item_ids od users a następnie usuwa rekordy z items gdzie id nie jest w wynikach tego podzapytania)

2
delete from items 
where id not in (select item_id from users) 
Powiązane problemy