sql >> Database teknologi >  >> RDS >> Mysql

indre join og hvor i() klausul ydeevne?

Afhænger af din SQL-motor. Nyere SQL-systemer, der har rimelige forespørgselsoptimeringer, vil højst sandsynligt omskrive begge forespørgsler til den samme plan. Typisk bliver en underforespørgsel (din anden forespørgsel) omskrevet ved hjælp af en joinforbindelse (den første forespørgsel).

I simple SQL-motorer, som muligvis ikke har gode forespørgselsoptimeringsværktøjer, bør joinforbindelsen være hurtigere, fordi de kan køre underforespørgsler ind i en midlertidig tabel i hukommelsen, før den ydre forespørgsel køres.

I nogle SQL-motorer, der har begrænset hukommelsesfodaftryk, kan underforespørgslen dog være hurtigere, fordi den ikke kræver sammenføjning - hvilket producerer flere data.

Så sammenfattende afhænger det af.



  1. Implementering af en tilpasset sortering

  2. Oracle CLOB kan ikke indsætte mere end 4000 tegn?

  3. Forvirrende php/Mysql Time aritmetisk adfærd

  4. Sådan opgraderes postgresql-database fra 10 til 12 uden at miste data til openproject