Domanda

Siamo spiacenti tutto,

Io ho questo mini tabella con 3 colonne, ma, voglio elencare i valori o da una o l'altra colonna.

1) E 'ok per avere due di queste colonne con indici?

2) Dovremmo avere un solo indice per ogni tabella?

3) Al limite, se abbiamo una tabella con 100 colonne, per esempio, e abbiamo 50 di loro con gli indici, è questo ok?

Grazie, MEM

È stato utile?

Soluzione

E 'bene avere molti indici, anche più indici su una tabella, fino a quando si utilizza li .

Esegui contare su vostre domande e verificare quali indici vengono utilizzati. Se ci sono gli indici che non vengono utilizzati da qualsiasi domanda allora non si stanno dando alcun beneficio e sono solo rallentando modifiche alla tabella. Questi indici non utilizzati devono essere rimossi.

Si potrebbe anche prendere in considerazione gli indici più colonne se non l'avete già fatto.

Altri suggerimenti

Per rispondere rapidamente alle vostre domande, penso:

  1. Sì, è ok per avere più due o anche colonne con indici
  2. Non necessariamente. È possibile avere più di un indice per ogni tabella.
  3. Potrebbe essere OK, potrebbe essere non OK. Dipende. La cosa con gli indici è che prendono lo spazio (in disco) e fanno operazioni che modificano i dati (INSERT / UPDATE / DELETE) più lenta dal momento che per tutti e di ciascuno di essi, ci sarà un TABLE e aggiornamento dell'indice in questione.

La vostra creazione indice dovrebbe essere guidato dalle vostre domande. Vedere ciò che le query hai intenzione di avere sul vostro sistema e creare indici di conseguenza.

Non v'è alcun problema di avere più di un indice per ogni tabella, e no, un indice per ogni tabella non è realmente una linea guida.

Avere troppi indici è perché inefficiente

  • Si richiede memoria aggiuntiva
  • MySQL deve determinare quale indice utilizzare per una determinata query

Edit: Come da Pablo e Mark, è necessario capire come i dati si accede in modo per voi per costruire indici efficaci. È quindi possibile perfezionare e ridurre gli indici.

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