Mysql
 sql >> Database >  >> RDS >> Mysql

Conversione di MyISAM in InnoDB. Benefico? Conseguenze?

Nonostante eventuali vantaggi/svantaggi del suo utilizzo, discussi in altri thread ( MyISAM contro InnoDB ), la migrazione è un processo non banale.

Considera

  • Testare funzionalmente tutti i componenti che dialogano con il database, se possibile - i motori di differenza hanno una semantica diversa
  • Eseguire il maggior numero possibile di test delle prestazioni:alcune cose potrebbero migliorare, altre potrebbero essere molto peggiori. Un noto esempio è SELECT COUNT(*) su un grande tavolo.
  • Verifica che tutto il tuo codice gestirà i deadlock in modo corretto:puoi ottenerli senza l'uso esplicito delle transazioni
  • Stima l'utilizzo di spazio che otterrai convertendo:provalo in un ambiente non di produzione.

Avrai senza dubbio bisogno di cambiare le cose in una grande piattaforma software; va bene, ma visto che (si spera) hai molta copertura di test automatici, il cambiamento dovrebbe essere accettabile.

PS:se "Qualcosa sta iniziando a tassare la CPU", allora dovresti a) Scopri cosa, in un ambiente non di produzione, b) Prova varie opzioni per ridurlo, in un ambiente non di produzione. Non dovresti iniziare ciecamente a fare cose importanti come cambiare i motori di database quando non hai analizzato completamente il problema.

Tutti i test delle prestazioni devono essere eseguiti in un ambiente non di produzione, con dati simili alla produzione e su hardware di livello produttivo. Altrimenti è difficile interpretare correttamente i risultati.