sql >> Database >  >> RDS >> Sqlserver

SQL Server-abonnementen:verschil tussen Index Scan / Index Seek

Bij een indexscan leest de SQL-server de hele index op zoek naar overeenkomsten - de tijd die dit kost is evenredig aan de grootte van de index.

Een index zoeken is waar SQL-server de b-boomstructuur van de index gebruikt om rechtstreeks naar overeenkomende records te zoeken (zie http://mattfleming.com/node/192 voor een idee over hoe dit werkt) - de benodigde tijd is alleen evenredig aan het aantal overeenkomende records.

  • Over het algemeen verdient het zoeken naar een index de voorkeur boven een indexscan (wanneer het aantal overeenkomende records proportioneel veel lager is dan het totale aantal records), aangezien de tijd die nodig is om een ​​indexzoekopdracht uit te voeren constant is, ongeacht het totale aantal records in uw tabel.
  • Houd er echter rekening mee dat in bepaalde situaties een indexscan sneller kan zijn dan een indexzoekopdracht (soms aanzienlijk sneller) - meestal wanneer de tabel erg klein is, of wanneer een groot percentage van de records overeenkomt met het predikaat.


  1. multidimensionale matrixquery mysql

  2. Tabelnamen ophalen uit een database

  3. Databasecorruptie voorkomen in Microsoft Access

  4. Hoe controleer ik in PHP op records die ouder zijn dan vandaag?