Sto progettando un database e vorrei normalizzare il database. In una query mi unirò a circa 30-40 tabelle. Ciò danneggerebbe le prestazioni del sito Web se dovesse diventare estremamente popolare? Questa sarà la query principale e verrà chiamata il 50% delle volte. Le altre domande mi unirò a due tavoli.La normalizzazione ha davvero danneggiato le prestazioni nei siti ad alto traffico?
Ho una scelta in questo momento per normalizzare o non normalizzare, ma se la normalizzazione diventa un problema in futuro, potrei dover riscrivere il 40% del software e potrebbe volerci molto tempo. La normalizzazione fa davvero male in questo caso? Dovrei denormalizzare ora mentre ho il tempo?
Non dovresti dover rischiare un numero così grande di riscritture (40% del tuo) codice. Se inizi a normalizzare, ma con le viste per fornire le astrazioni necessarie per la maggior parte del tuo codice ... allora dovrebbe ovviare alla maggior parte delle modifiche al codice nel caso in cui tu debba denormalizzare nello schema che le tue viste presentano come dovrebbe essere il livello di astrazione. –
Essere consapevoli del sovraccarico (in termini di quantità di lavoro) coinvolti quando è necessario aggiornare tabelle denormalizzate - se si modifica un indirizzo client, invece di cambiarlo in un punto ora è necessario eseguire la scansione di ogni riga nella tabella denormalizzata per cambiare esso. Forse una vista è l'opzione migliore e, se è ancora troppo lento, allora alloca più risorse hardware al database. – slugster
Mi piacerebbe sapere perché hai bisogno di 30-40 tavoli in primo luogo e perché questi devono essere uniti. Questo non mi sembra giusto quindi vorrei che tu spiegassi cosa stanno facendo i tavoli. –