sql >> Databasteknik >  >> RDS >> Sqlserver

hur man kontrollerar att frågan använder index

Detta är faktiskt svårare än det ser ut - ett typiskt modernt DBMS (och MS SQL Server är inget undantag) kommer ibland att göra en fullständig tabellsökning även om index är tillgängligt, helt enkelt för att det kan vara snabbare på små mängder data.

Exempel:

Vad mer, beslutet som DBMS fattar kan påverkas av hur färsk/exakt statistik är.

Det mest tillförlitliga testet för om indexet används är att helt enkelt fylla din databas med representativa mängder data och sedan titta på exekveringsplanen . Och glöm inte att tajma det faktiska utförandet av frågan medan du håller på!

Ett förenklat exempel:om hela tabellen passar in i en enskild databassida är det snabbare att helt enkelt ladda den sidan och gå igenom den sekventiellt än att vänta på den extra I/O för sidan som innehåller index.>



  1. Bästa metoder för mjuk borttagning (PHP/MySQL)

  2. MYSQL-uppdatering med sum()-resultat över flera tabeller

  3. Hur man tar bort efterföljande blanksteg i MySQL

  4. AMD, Intel och PostgreSQL