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

SQL Server-planer:forskel mellem indeksscanning/indekssøgning

En indeksscanning er, hvor SQL-serveren læser hele indekset på udkig efter matches - den tid, det tager, er proportional med størrelsen af ​​indekset.

En indekssøgning er, hvor SQL-serveren bruger indeksets b-træstruktur til at søge direkte til matchende poster (se http://mattfleming.com/node/192 for en idé om, hvordan dette virker) - den tid, det tager, er kun proportional med antallet af matchende poster.

  • Generelt er en indekssøgning at foretrække frem for en indeksscanning (når antallet af matchende poster er forholdsmæssigt meget lavere end det samlede antal poster), da den tid det tager at udføre en indekssøgning er konstant uanset det samlede antal af poster i din tabel.
  • Bemærk dog, at i visse situationer kan en indeksscanning være hurtigere end en indekssøgning (nogle gange betydeligt hurtigere) - normalt når tabellen er meget lille, eller når en stor procentdel af posterne matcher prædikatet.


  1. mysql-transaktion - rulle tilbage på enhver undtagelse

  2. Hvordan indstilles ORACLE_HOME-variablen korrekt på Ubuntu 9.x?

  3. GreenDao freemaker.jar mangler

  4. Forskellen mellem RDBMS og ORDBMS