Questione : Disegno ed indici di base di dati

Ciao i tipi e Gals

If che ho una tabella nella base di dati MSSQL2008 che contiene circa 40 columns.
and + 1 milione file più, esso si sviluppa circa dalle file 30k per necessità di day.

I di interrogare la tabella using un indice attraverso due colonne: il
ContactId INT NON NULLO e il
JobNumber INT NON NULL

1) l'indice saranno più efficienti se le due colonne ContactId e JobNumber sono fisicamente vicino a vicenda nella tabella di base di dati?

2) dato il numero di nuovi contatti che si sono aggiunti giornalmente, sarà più rapido da ricostruire gli indici se le due colonne sono fisicamente vicine, o esso non farà differenza se sono separate altre da 30 o più colonne?

3) presuppongo che potete ricostruire soltanto gli indici quando gli utenti non sono accesso i dati ed in caso affermativo, quindi gli indici possono essere ricostruiti soltanto dopo le ore di produzione, io quindi sono interessati quello durante il giorno tutte le annotazioni recentemente inserite saranno efficace un-indexed, è questa una preoccupazione valida? ringraziamenti del

Many che per il vostro help.
class= del

Risposta : Disegno ed indici di base di dati

1) & 2) poichè i campi non sono immagazzinati internamente in un senso relativo di posizione io diranno che non ci sarà differenza fra la posizione dei campi di indice nella tabella. Tuttavia tendo a mettere gli indici nei primi campi dalla convenzione.

3) La ricostruzione degli indici è un'operazione pesante che avrà un effetto negativo nella prestazione del vostro app, in modo da è una buona idea lanciare le ricostruzioni dalle ore di produzione. Le file recentemente inserite nel vostro DB sono inferiore a 3% ogni giorno, in modo da i vostri searchs perderanno circa un 3% nella prestazione ogni giorno fino a che non ricostruiate i vostri indici. Ciò non è un tal gran cosa se li ricostruite in una base quotidiana.
Altre soluzioni  
 
programming4us programming4us