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

Tabelle MyISAM e InnoDB in un database

In questi giorni, utilizzo sempre InnoDB per impostazione predefinita, specialmente sulle tabelle ad alta intensità di scrittura che menzioni dove MyISAM soffre di blocco completo della tabella. Ecco un confronto diretto.

Motivi per utilizzare MyISAM:

  • Le tabelle sono molto veloci per carichi pesanti selezionati
  • I blocchi a livello di tabella limitano la loro scalabilità per ambienti multiutente ad alta intensità di scrittura.
  • Consumo minimo di spazio su disco
  • Indice fulltext
  • Tabelle unite e compresse.

Motivi per utilizzare InnoDB:

  • Transazioni ACIDO
  • Blocco a livello di riga
  • Letture coerenti:ti consente di raggiungere un'eccellente simultaneità in lettura e scrittura.
  • Clustering delle chiavi primarie:in alcuni casi offre prestazioni eccellenti.
  • Supporto per chiavi straniere.
  • È possibile memorizzare nella cache sia l'indice che le pagine di dati.
  • Ripristino automatico da arresto anomalo:nel caso in cui l'arresto di MySQL fosse sporco, le tabelle InnoDB ripristineranno lo stato coerente- Nessun controllo/riparazione potrebbe richiedere MyISAM.
  • Tutti gli aggiornamenti devono passare attraverso il motore transazionale in InnoDB, che spesso diminuisce le prestazioni rispetto ai motori di archiviazione non transazionali.

Quanto sopra è stato tratto da questo sito , che sembra non funzionare più.