Ritengo sia un'ottimizzazione prematura perché la nostra applicazione non è stata ancora rilasciata. Ho suggerito di monitorare le query lente una volta che siamo online e quindi aggiungere gli indici di conseguenza.
Non è possibile trattare gli utenti finali e l'ambiente di produzione come garanzia di qualità. In altre parole, stai dicendo che lo scoprirai in produzione. Non penso che sia la strada giusta e vedo che questo approccio va orribilmente storto ogni giorno .
Devi tenere a mente una cosa, poiché non puoi dipingerla con un pennello largo.
Qual è il tuo carico di lavoro comune ?
Potrebbe sembrare ovvio o noioso, ma è significativo nella pratica. Se hai 10 query che rappresentano il 98% del tuo carico di lavoro (abbastanza comune, che ci crediate o no), la mia raccomandazione sarebbe una dura analisi prima della produzione . Con dati realistici e rappresentativi, assicurati che queste 10 query siano le migliori possibili (la perfetta è una perdita di tempo prezioso e quasi non realizzabile).
Per le altre 200 query che rappresentano il 2% del carico di lavoro , quelle sono quelle che molto probabilmente non valgono una tonnellata di sforzi e compenseranno le stranezze nella risoluzione dei problemi di angolo nella produzione. Anche questa è una realtà, e non una cosa terribilmente negativa. Ma ciò non significa ignorare le migliori pratiche di indicizzazione o fare ipotesi stimate sul recupero dei dati.
È prassi comune e buona norma calcolare le prestazioni del database prima della produzione. In effetti, esiste una posizione relativamente comune per questo tipo di cose chiamata DBA di sviluppo .
Ma...
Alcuni lo spingono troppo in là e impazziscono aggiungendo indici "per ogni evenienza". Qualcuno consiglia questo è un indice mancante? Aggiungilo e altre quattro varianti. Anche una cattiva idea. Devi pensare non solo al recupero dei tuoi dati, ma alla modifica dei dati? Più indici hai su una tabella, generalmente parlando più overhead hai quando modifichi i dati.
Come la maggior parte delle cose, c'è un sano equilibrio.
Come una piccola nota divertente ... La pluralizzazione di "Index"
Gli "indici" sono per i finanziari
Gli "indici" sono per noi