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

Langsom ELLER-sætning i postgresql

Helt ny tilgang. Din where tilstanden er på to borde, men det virker unødvendigt.

Den første ændring ville være:

where a1_.id = 1136 or a1_.parent_id = 1136

Jeg tror, ​​at den struktur, du ønsker, er en scanning af kategoritabellen og derefter henter fra annoncetabellen. For at hjælpe kan du oprette et indeks på advert(advert_category_id, created_date) .

Jeg ville være fristet til at skrive forespørgslen ved at flytte where klausul ind i en underforespørgsel. Jeg ved ikke, om dette ville påvirke ydeevnen:

SELECT a0_.id AS id0
FROM   advert a0_ INNER JOIN
       (select ac.*
        from advertcategory ac
        where ac.id = 1136 or ac.parent_id = 1136
       ) ac
       ON a0_.advert_category_id = ac.id
ORDER  BY a0_.created_date DESC
LIMIT  15;  


  1. Få en liste over alle brugte tabeller i en Postgresql SELECT-forespørgsel

  2. sql server konvertere datetime til en anden tidszone?

  3. Hvordan afinstallerer man forældet Oracle Data Provider?

  4. Oracle Instant Client og Entity Framework problemer med konfiguration