Sì. Dovresti aggiungere solo quegli indici, che sono necessari.
Un indice richiede spazio aggiuntivo e, quando si inseriscono/aggiornano/eliminano record, il DBMS deve aggiornare anche tali indici. Quindi, questo significa che ci vuole più tempo per aggiornare/aggiungere/eliminare un record, dal momento che il DBMS deve fare un po 'di amministrazione extra.
aggiungendo numerosi indici alle tabelle che penso possa richiedere uno.
È necessario aggiungere solo quegli indici per i quali si è certi che siano necessari. per determinare le colonne dove si poteva mettere indici, si potrebbe:
- aggiungere indici a colonne che sono chiavi esterne
- aggiungono gli indici per le colonne che sono spesso utilizzati nelle clausole WHERE
- aggiungere indici a colonne che vengono utilizzate in ordine di clausole.
Un altro -e forse approccio meglio-, è quello di utilizzare SQL Profiler:
- uso di SQL Profiler per tracciare il vostro applicazione/database per un po '
- salvare la traccia risulta
- uso la traccia ha come risultato l'ottimizzazione guidata dell'indice, che ti indicherà quali indici dovresti creare, quali colonne dovrebbero essere in ogni indice e ti dirà anche l'ordine di tali colonne per l'indice.
fonte
2010-02-03 18:27:55
Duplicate: http://stackoverflow.com/questions/141232/how-many-database-indexes-is-too-many, http://stackoverflow.com/questions/418744/what -è-il-costo-di-indicizzazione-multiple-db-colonne e molti altri. –
Non ho mai visto una domanda con così tante risposte doppie in meno di un minuto. –
Penso che questo sia sempre più probabile che accada man mano che SO diventa sempre più popolare, specialmente sulle domande facili/generiche come questa. –