Dal momento che hai chiesto in che modo le grandi aziende (in genere) si avvicinano a questo:
Di solito hanno un dba (amministratore del database) che vive e respira il database utilizzato dall'azienda.
Ciò significa che hanno persone che sanno tutto, da come progettare le tabelle in modo ottimale, profilare e ottimizzare le query/indici/OS/server per sapere quale revisione del firmware del controller RAID può causare problemi al database.
Non parli molto del tipo di messa a punto che hai fatto, ad es.
- Stai usando le tabelle MyISAM o InnoDB? Le loro prestazioni (e non ultime le loro caratteristiche) sono radicalmente diverse per i diversi carichi di lavoro.
- Le tabelle sono indicizzate correttamente in base alle query eseguite?
- esegui EXPLAIN su tutte le tue query - che ti aiuterà a identificare le chiavi che potrebbero essere aggiunte/rimosse, se vengono selezionate le chiavi corrette, confrontare le query (SQL ti lascia molto modo per ottenere le stesse cose)
- Hai ottimizzato la query-cache? Per alcuni carichi di lavoro la cache delle query (attivata per impostazione predefinita) può causare un notevole rallentamento.
- Quanta memoria ha la tua scatola e mysql è ottimizzato per trarne vantaggio?
- Usi un file system e una configurazione raid orientata al database?
- A volte è necessaria una piccola denormalizzazione.
- Diversi prodotti di database avranno caratteristiche diverse, MySQL potrebbe essere incredibilmente veloce per alcuni worlkoad e lento per altri.