sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL:eksisterer vs venstre join

Nå, for hver række i "grupper" laver postgresql en fuld scanning af products_categories, hvilket ikke er godt. Ikke nødvendigvis et konfigurationsproblem, men måske kunne forespørgslen angives uden den slags indlejrede underforespørgsler?

SELECT count(DISTINCT "groups".id) AS count_all FROM "groups" WHERE exists( select 1 from products p where groups.id = p.group_id join products_categories pc on pc.product_id = p.id where pc.category_id in (2,3) ) and groups.id <> 3

Gør også products_categories har et indeks på product_id ?




  1. mysql tælle poster fra to tabeller i én forespørgsel?

  2. Hvordan grupperer man efter måned og returnerer nul, hvis der ikke er nogen værdi for en bestemt måned?

  3. Hvad er et kvalitetsudviklingsmiljø til at skrive Oracle SQL?

  4. HAS_DBACCESS() – Find ud af, om en bruger kan få adgang til en database i SQL Server