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

hvordan man kontrollerer, at forespørgslen bruger indeks

Dette er faktisk sværere end det ser ud - et typisk moderne DBMS (og MS SQL Server er ingen undtagelse) vil nogle gange lave en fuld tabelscanning, selvom indeks er tilgængeligt, simpelthen fordi det kan være hurtigere på små mængder data.

Eksempel:

Hvad mere er, kan den beslutning, som DBMS træffer, påvirkes af, hvor frisk/nøjagtig statistik er.

Den mest pålidelige test for, om indekset bruges, er blot at fylde din database med repræsentative mængder data og derefter se på udførelsesplanen . Og glem ikke at time selve udførelsen af ​​forespørgslen, mens du er i gang!

Et forenklet eksempel:Hvis hele tabellen passer ind i en enkelt databaseside, er det hurtigere blot at indlæse siden og gennemgå den sekventielt, end at vente på den ekstra I/O for siden, der indeholder indekset.>



  1. Postgresql Drop View

  2. Er det muligt at udføre krydsdatabaseforespørgsler med PostgreSQL?

  3. Hvordan vælger man understreng i oracle?

  4. MySQL LOAD DATA INFILE butikslinjenummer