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

MySQL inserisce enormi file SQL di dimensioni GB

Poiché si dispone di meno di 50 GB di memoria (quindi non è possibile eseguire il buffering dell'intero database in memoria), il collo di bottiglia è la velocità di scrittura del sottosistema del disco.

Trucchi per velocizzare le importazioni:

  • MyISAM non è transazionale, quindi molto più veloce negli inserti filettati singoli. Prova a caricare in MyISAM, quindi ALTER la tabella a INNODB
    • Usa ALTER TABLE .. DISABLE KEYS per evitare aggiornamenti dell'indice riga per riga (solo MyISAM)
    • Imposta bulk_insert_buffer_size sopra la dimensione dell'inserto (solo MyISAM)
    • Imposta unique_checks = 0 in modo che i vincoli univoci non siano controllati.

Per ulteriori informazioni, vedere Caricamento di massa di dati per tabelle InnoDB nel manuale MySQL .

Nota :Se la tabella originale ha vincoli di chiave esterna, utilizzare MyISAM come formato intermedio è una cattiva idea.