Cum știu ce recomandări de index SQL Server 2005 să pună în aplicare, dacă este cazul?

We're in the process of upgrading one of our SQL Server instances from 2000 to 2005. I installed the performance dashboard (http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en) for access to some high level reporting. One of the reports shows missing (recommended) indexes. I think it's based on some system view that is maintained by the query optimizer.

Întrebarea mea este care este cel mai bun mod de a determina când să luați o recomandare de index. Știu că nu are sens să aplicați toate sugestiile optimizatorului. Văd o mulțime de sfaturi care în principiu spun că încercați indexul și să-l păstrați dacă performanța se îmbunătățește și să-l renunțe dacă performanțele se degradează sau rămân aceleași. Mă întreb dacă există o modalitate mai bună de a lua decizia și ce bune practici există în acest domeniu.

0
fr hi bn

3 răspunsuri

Cea mai bună cercetare a celor mai frecvente tipuri de interogări care se întâmplă în baza dvs. de date și crearea de indici bazați pe acea cercetare.

De exemplu, dacă există o tabelă care stochează pagini de internet, care este scrisă foarte frecvent, dar cu greu chiar citită. Apoi nu indexați masa.

Dacă aveți vreodată o listă de utilizatori care accesează mai des decât este scris, atunci aș crea mai întâi un index în cluster pe coloana care accesează cel mai mult, de obicei cheia primară. Apoi aș crea un index pe coloanele de căutare obișnuit și pe cele care sunt folosite în ordine prin clauze.

0
adăugat

Primul lucru pe care trebuie să îl cunoașteți:

Când faceți upgrade de la 2000 la 2005 (prin utilizarea detașării și atașării) asigurați-vă că:

  1. Setați compatibilitatea la 90
  2. Refaceți indexurile
  3. Rulați statistici de actualizare cu scanare completă

Dacă nu faceți acest lucru, veți obține planuri suboptimale.

În cazul în care tabelul este cea mai mare parte scrieți doriți cât mai puțini indici posibil Dacă tabelul este utilizat pentru o mulțime de interogări citite, trebuie să vă asigurați că clauza WHERE este acoperită de indicii.

0
adăugat

Sfatul pe care l-ai primit are dreptate. Încercați-le pe toate, unul câte unul.

Nu există nici un substitut pentru testarea în ceea ce privește performanța. Doar dacă nu o dovedești, nu ai făcut nimic.

0
adăugat