Fråga #1 är inte det eleganta sättet att göra detta... (NOT) IN SELECT är bra för några poster, men den kan inte använda index (Seq Scan
).
Innan du hade UTOM... så här gjordes det med en JOIN (HASH JOIN
):
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 dök upp i Postgres för länge, länge sedan... Men att till exempel använda MySQL tror jag att detta fortfarande är det enda sättet att uppnå detta med hjälp av index-korsningar.