sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL:NIET IN versus BEHALVE prestatieverschil (bewerkt #2)

Query #1 is niet de elegante manier om dit te doen... (NIET) IN SELECT is prima voor een paar items, maar het kan geen indexen gebruiken (Seq Scan ).

Voordat u BEHALVE... dit is hoe het werd gedaan met behulp van een 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

BEHALVE verscheen lang, lang geleden in Postgres... Maar als ik bijvoorbeeld MySQL gebruik, denk ik dat dit nog steeds de enige manier is om dit te bereiken met behulp van indexknooppunten.



  1. Hoe toegang krijgen tot een externe server met een lokale phpMyAdmin-client?

  2. Gegevens migreren met Network_link

  3. Cross-join in Oracle

  4. Hoe u de huidige datum in PostgreSQL kunt krijgen