SQL: Wenn es um NOT IN und NOT EQUAL TO geht, was ist effizienter und warum?
Angenommen, ich habe eine Reihe von Elementen:
Gegenstand 1Item2Item3Item4Item5Eine Abfrage kann auf zwei Arten erstellt werden. Zuerst:
SELECT *
FROM TABLE
WHERE ITEM NOT IN ('item1', 'item2', 'item3', 'item4','item5')
Oder es kann geschrieben werden als:
SELECT *
FROM TABLE
WHERE ITEM != 'item1'
AND ITEM != 'item2'
AND ITEM != 'item3'
AND ITEM != 'item4'
AND ITEM != 'item5'
Was ist effizienter und warum?Ab wann wird einer effizienter als der andere? Mit anderen Worten, was wäre, wenn es 500 Gegenstände gäbe?Meine Frage bezieht sich speziell auf PostgreSQL.