Abfrage #1 ist nicht der elegante Weg, dies zu tun ... (NOT) IN SELECT ist für ein paar Einträge in Ordnung, kann aber keine Indizes verwenden (Seq Scan
).
Vor EXCEPT... wurde dies mit einem JOIN (HASH JOIN
) gemacht ):
SELECT sp.id
FROM subsource_position AS sp
LEFT JOIN subsource AS s ON (s.postion_id = sp.id)
WHERE
s.postion_id IS NULL
EXCEPT ist vor langer, langer Zeit in Postgres aufgetaucht ... Aber zum Beispiel mit MySQL glaube ich, dass dies immer noch der einzige Weg ist, dies mit Index Junctions zu erreichen.