Domanda

sto lavorando in SQL Server 2005. Ho una tabella di registro eventi che azioni tracce degli utenti, e voglio fare in modo che inserimenti nella tabella sono il più velocemente possibile. Attualmente la tabella non ha nessun indici. Fa l'aggiunta di un singolo indice non cluster rallentare inserti a tutti? O è solo cluster indici che rallentano inserti in giù? O devo solo aggiungere un indice cluster e non preoccuparsi?

È stato utile?

Soluzione

rilevamenti, cluster o non cluster, sarà sempre rallenterà inserti come SQL deve mantenere sia la tabella e l'indice. Questo rallentamento è in un certo senso "assoluto" e non è possibile notarlo. Vorrei aggiungere qualunque cosa gli indici sono necessari per recuperare i dati.

Altri suggerimenti

Sì, qualsiasi indice vorrà un po 'di tempo per tenersi aggiornati quando si fa operazioni INSERT, UPDATE, DELETE. I più indici si hanno, più tempo ci stanno parlando.

Ma in ultima analisi, dipende da ciò che è più importante per voi - buone prestazioni di query (quindi aggiungere gli indici, se necessario), o la buona prestazione di inserimento (poi avere il minor numero possibile di indici).

Quale operazione fa si esegue più spesso ??

Questo perché ogni indice secondario in MySQL (e qualsiasi altro motore di database) è un separato di stoccaggio, tipicamente organizzato come un certo tipo di B-tree.

Queste piscine di stoccaggio contengono record di indice che hanno i valori indicizzati e un certo tipo di puntatore al record tabella di base. Nel caso di MySQL, questo puntatore è la chiave primaria della tabella di base.

Ogni volta che si inserisce o si elimina un record, queste aree di stoccaggio indice avrà nuovi record aggiunti o eliminati. Se si aggiorna un record -. E l'aggiornamento coinvolge una colonna indicizzata, il lotto di memoria relativo indice deve avere il suo record aggiornato e

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top