Senaste inläggen 

Taggar 

Page life expectancy     CTP1     create index     AcquireConnection     SQL Denali     Reports     Techdays     Säkerhet     parameters     sql browser     Activity Monitor     undocumented procedures     sp1     XP_cmdshell     data warehouse     2011     sql 2005     CU1     clean up     Logins     page splits     Cluster     package load     CU3     central management server     gratis verktyg     Extended Event     history     Trace Flag     concatenation     2008     feedback     DTA     security     resource governor     error     profile     HADR     0xC0202009     login error     constraint     SQL2008     SQL server codename Denali     reorganize index     improve     rebuild     SSIS     CTE     Datawarehouse     bugs     SSAS     Business Intelligence     connect     filter     SQL Server     virtuell     access denied     SQL Server 2012     sql 2008     performance     platsannons SQL utvecklare     SSRS 2008     SSRS     Microsoft     T-SQL     features     0xC0010014     BOL     parallelism     transactions     sp_MSForEachDB     2005     dbmail     HEAP     CMS     DECIMAL     #am_get_querystats     2000     function     connection     temp table

SQL Server indexerings strategier del 1 - Generella rekommendationer

Skrivet den 24 maj 2012 i Indexering, SQL Azure, SQL Server 2008, SQL Server 2008R2, SQL Server 2012, Level 200, Håkan Winther, performance, sv

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.

Skriv en kommentar