Vinzenz Mai: Vereinfachte Subquery

Beitrag lesen

Hallo Christian,

SELECT

p.id_products                  -- ich gehe davon aus, dass Du an weiteren
                                   -- Spalten interessiert bist und nicht jeder
                                   -- Eintrag in der Tabelle products einen Eintrag
                                   -- in prod_lists haben muss :-)
FROM products p
WHERE p.id_products NOT IN (       -- wobei die id_products nicht in der Liste
    SELECT                         -- der id_products auftaucht
        pl.id_products
    FROM prods_lists pl            -- die in der Verknüpfungstabelle
    WHERE pl.id_lists IN (1, 2, 3) -- einer von ein paar ausgewählten Listen zugeordnet sind
)

  
Was sagt EXPLAIN dazu?  
  

> Leider bringt diese Query immer noch keine Geschwindigkeitsverbesserung mit. Auf meinem 200MHz Pentium dauert das gut 16 Sekunden.  
  
Wie lange benötigt das SELECT-Statement \_ohne\_ WHERE-Klausel?  
Wie lange benötigt die innere Abfrage, wenn Du sie allein abschickst?  
Welche Datenmenge liefert Dein Statement zurück?  
Kann es sein, dass Dein Hauptspeicher nicht ausreicht?  
  
Wie [Ilja](https://forum.selfhtml.org/?t=145654&m=946012) bereits anmerkte, sollte bei Deinem Datenbestand die Abfrage auch auf einem Pentium I mit 200 MHz schnell ausgeführt werden.  
  
  
Freundliche Grüße  
  
Vinzenz