Vraag : Het Ontwerp en de Indexen van het gegevensbestand

Hallo Kerels en Gals

If ik heb een lijst in Mssql2008- gegevensbestand die ongeveer 40 columns.
and + 1 miljoen plus rijen, groeit het door ongeveer 30k rijen per day.

I moet de lijst vragen gebruikend een index over twee kolommen: NIET ONGELDIGE
ContactId int. en
JobNumber int. NIET NULL

1 zullen) de index efficiënter zijn als de twee kolommen ContactId en JobNumber fysisch naast elkaar in de gegevensbestandlijst zijn?

2) Gegeven het aantal nieuwe Contacten die, zal het sneller zijn om indexen als de twee kolommen te herbouwen fysisch dicht zijn dagelijks worden toegevoegd, of het zal maken geen verschil als zij door 30 of meer andere kolommen worden gescheiden?

3) ik veronderstel u indexen kunt slechts herbouwen wanneer de gebruikers geen toegang de gegevens zijn, en als zo, dan kunnen ben is de indexen slechts na productieuren worden herbouwd, ik betroffen daarom dat tijdens de dag alle onlangs opgenomen verslagen effectief niet geïndexeerd zullen zijn, dit een geldige zorg? dank

Many voor uw help.

Antwoord : Het Ontwerp en de Indexen van het gegevensbestand

1) & 2) aangezien de gebieden niet intern op een positie relevante manier worden opgeslagen ik zal zeggen dat er geen verschil tussen de positie van de indexgebieden in de lijst zal zijn. Nochtans neig ik om indexen op de eerste gebieden door overeenkomst te zetten.

3) Het herbouwen van indexen is een zware taak die een negatieve invloed in uw app prestaties zal hebben, zodat is het een goed idee om verbouwingen uit productieuren te lanceren. De onlangs opgenomen rijen in uw OB zijn onder 3% elke dag, zodat zullen uw searchs over een 3% in prestaties elke dag verliezen tot u uw indexen herbouwt. Dit is niet zulk een grote overeenkomst als u hen in een dagelijkse basis herbouwt.
Andere oplossingen  
 
programming4us programming4us