Ci sono alcune domande su questo argomento:
- Sta creando tutti gli indici all'inizio (progettazione) rispetto all'ingegneria?
- In realtà, ho aggiunto degli indici dopo che sono stati rilevati problemi di prestazioni e "spieghiamo il piano" e aggiungere gli indici in base alle esigenze (ad esempio, non per tutte le relazioni). Dovrei semplicemente saltare la creazione degli indici prima che sia necessario perché i problemi di prestazioni verranno comunque visualizzati e probabilmente gli indici già creati non verranno utilizzati?
- Gli indici devono essere trattati come parte di requisiti / specifiche? A volte vedo requisiti di prestazione, che di solito sono vaghi o casuali. Se fanno parte delle specifiche, allora la gestione degli indici dovrebbe essere parte dell'implementazione?
Voglio renderlo un po 'più chiaro e più background. Nello sviluppo, di solito le diverse fasi coinvolgono diversi tipi di persone (ad esempio architetti, senior e juniores). Ad esempio, sarebbe inusuale che i giovani siano responsabili del design. Pertanto, quando alcune attività si sovrappongono, diventa poco chiaro chi è responsabile se, ad esempio, una query impiega 2 secondi.
La definizione delle fasi di sviluppo e delle responsabilità è importante anche per i non programmatori, ad es. responsabili di progetto o proprietari di prodotti, perché sono necessari per la pianificazione e il costo. Un project manager potrebbe desiderare di elevare un architetto per eseguire tutte le attività relative al database solo all'inizio e per un breve periodo. Se dopo il lancio del prodotto, si scopre che le prestazioni sono scadenti, il PM vorrebbe sapere chi è il responsabile. Spero che ti venga l'idea.