Domanda

Sono stato in attesa ora per 36 ore per il file di 12 GB sql da importare con un semplice comando type site.sql | mysql. Posso vedere la ibdata1 cresce ancora, attualmente quasi 40 GB.

Considerando i trigger e stored procedure sono alla fine del sql, ho solo pensare MySQL dovrebbe essere l'aggiunta di dati e gli indici principali.

Il site.sql è stata generata utilizzando questo comando da un altro server:

mysqldump -R -e --databases site --add-drop-database --add-create-database --add-drop-table -C --single-transaction --triggers

Che cosa sta prendendo così tanto tempo?

È stato utile?

Soluzione

Prova questo:

$ ps -ef|grep [m]ysql

Identificare l'ID del processo, allora

$ strace -cp <pid>

Lascia fare 10 secondi o un minuto poi ^C. Che vi dirà dove il processo sta spendendo il suo tempo, per esempio potrebbe essere solo in attesa del disco se hai visto read e write dominare.

Altri suggerimenti

Avete delle tabelle InnoDB con una chiave primaria

  1. contenente più colonne?
  2. avere una vasta VARCHAR?
  3. e un sacco di indici non univoci?
  4. uno o più non univoco indici che ha una chiave un'ampia?

Qualsiasi di queste condizioni può probabilmente causare grandi nodi btree a indici di avere pochissime foglie in ogni nodo BTREE. La chiave del cluster nella chiave primaria è anche collegato a ogni voce chiave non univoca nelle chiavi non cluster.

Un'altra considerazione:? Sono la somma di pagine di dati InnoDB significativamente inferiore pagine di indice InnoDB

È possibile scoprire che con questa query (in MB):

SELECT SUM(data_length)/POWER(1024,2) InnoDBData,
SUM(index_length)/POWER(1024,2) InnoDBIndexes
FROM information_schema.tables WHERE engine='InnoDB';

Ulteriori considerazione: Avete il log binario abilitata nel server di database che si sta caricando? Se siete, si prega di fare questo sul server che si sta caricando:

mysql -h... -u... -p... -A -e"SET sql_log_bin=0; source site.sql"

Spero che questo aiuta !!!

Sei sicuro che le tabelle in cui si sta leggendo in sono senza trigger e indici e vincoli? Quale hardware e OS sono in esecuzione su? Qual è la configurazione di archiviazione?

Sono più familiarità con Oracle, ma 12G importazione su tabelle senza trigger, indici e vincoli dovrebbe facilmente andare con 200 GB / h. Un unico grilletto può rendere il processo ad una lumaca, a seconda di ciò che fa scattare lo fa ...

Spero che questo aiuta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top