sql >> Database teknologi >  >> RDS >> Sqlserver

SQL SERVER 2008 JOIN tip

Fordi dette fratager optimizeren muligheden for at overveje andre metoder, som kan være mere effektive.

Når datafordelingen (som optimizeren træffer sine beslutninger om) er alvorligt skæv, og statistikken ikke er i stand til at repræsentere det korrekt.

Det er forskellige algoritmer.

  1. LOOP er indlejrede sløjfer:for hver post fra den ydre tabel søges den indre tabel efter matches (ved hjælp af indekset til rådighed). Hurtigst, når kun en lille del af poster fra begge tabeller opfylder JOIN og WHERE betingelser.

  2. MERGE sorterer begge tabeller gennemløber dem i sorteringsrækkefølgen og springer de umatchede poster over. Hurtigst for FULL JOIN s og når begge postsæt allerede er sorteret (fra tidligere sorteringsoperationer eller når indeksadgangsstien bruges)

  3. HASH opbyg en hash-tabel i det midlertidige lager (hukommelse eller tempdb ) fra en af ​​tabellerne og søger efter hver post fra den anden. Hurtigst, hvis den store del af poster fra en af ​​tabellerne matcher WHERE og JOIN tilstand.



  1. Sådan flyttes datafiler i SQL Server - Del 1

  2. Indsamlingsmetoder:FØRSTE &SIDSTE funktioner i Oracle-databasen

  3. Referencedatamønsteret:Udvidbart og fleksibelt

  4. Sådan opretter du kolonner til forskellige felter uden at anvende pivoteringsfunktionen