इस तरह की समस्याओं का एक तरीका यह हो सकता है कि इसे छोटे-छोटे हिस्सों में किया जाए।
DELETE FROM "contacts"
WHERE "contacts"."id" IN (
SELECT id
FROM contacts
LEFT OUTER JOIN members ON members.contact_id = contacts.id
WHERE members.id IS NULL
AND id >= 1 AND id < 1000
);
DELETE FROM "contacts"
WHERE "contacts"."id" IN (
SELECT id
FROM contacts
LEFT OUTER JOIN members ON members.contact_id = contacts.id
WHERE members.id IS NULL
AND id >= 1001 AND id < 2000
);
कुल्ला, दोहराएं। अपने डेटा सेट के लिए इष्टतम आकार खोजने के लिए विभिन्न चंक आकारों के साथ प्रयोग करें, जो उन सभी को स्मृति में रखते हुए सबसे कम क्वेरी का उपयोग करता है।
स्वाभाविक रूप से, आप इसे संभवतः plpgsql में, या अपनी पसंद की किसी भी स्क्रिप्टिंग भाषा में स्क्रिप्ट करना चाहेंगे।