SQL Server indexerings strategier del 1 – Generella rekommendationer

Oopps! Upgrade your browser pretty please. Oopps! Upgrade your browser pretty please.

När du designar en databas bör du ha prestanda i åtanke, och indexerings strategi är en av de viktigaste sakerna att tänka på. Om du skapar för få eller för många index lider du av dålig prestanda. Om du inte har index för att täcka dina frågor, har du långsamma frågor, och om du har för många, kommer dina INSERT, UPDATE och DELETE att vara långsamma. Du måste balansera detta och det finns alltid avvägningar och inga enkla svar som fungerar för alla, men det finns vissa riktlinjer du kan följa.

I denna serie av blogginlägg jag ska försöka ge dig några av dessa riktlinjer.

– Skapa inte för många eller för få.
– Varje tabell ska ha ett klustrade indexet! Slut på diskussionen! (kanske en del säger att de små tabellerna inte ska ha, men jag täcker det i en senare post)
– Välj det klustrade index klokt, låt inte SQL Server Management Studio att välja det åt dig (genom att skapa en primärnyckel i tabellen designern).
– Indexera kolumner som används i en foreign key relation
– Testa din workload med dina index
– Övervaka din prestanda för att hitta nya index
– Ta bort index som inte används
– Skapa inte dubbletter av index
– Kolumnordningen i index räknas, om första kolumnen i indexet inte används i en WHERE / join sats kommer det att sluta med en scan
– Använd rätt fillfactor för varje index, räkna inte med serverns standardinställningen för fillfactor
– Överväg partitionering för prestanda och underhåll
– Använd datakomprimering för datawarehouse / rapportering databaser.
– Bygg om index på en regelbunden basis
– Uppdatera indexstatistik

 Kom tillbaka en annan dag för mer information om specifika rekommendationer

 Om du har några frågor är du välkommen att kontakta någon av våra SQL Server konsulter och vi kommer att hjälpa dig.