Olhando para a consulta que você postou na pergunta, eu assumirei que suas tabelas usam o InnoDB.
Embora a resposta que você aceitou seja ótima, eu queria adicionar outra coisa.
Arquitetura InnoDB
Porfavor,tomenotadobufferdegravaçãodupla.AsalteraçõessãogeralmentegravadasnoBufferdeGravaçãoDuplaemibdata1enosArquivosdeLog(ib_logfile0,ib_logfile1)pormeiodoBufferdeLog.
Vocêpodedesativarobufferdegravaçãodupla,masissorequerqueomysqlsejareiniciadoduasvezes.
PASSO01:SETGLOBALinnodb_fast_shutdown=0;
PASSO02:servicemysqlrestart--innodb_doublewrite='OFF'--innodb_fast_shutdown=0
PASSO03:Executeoseucódigo
STARTTRANSACTION;INSERTIGNOREINTOinfo(Created,Modified,MType,Pform,Name,Version,Sig)VALUES('2013-07-31','2013-07-31','mtype','pform','name','version','signature');(repeat49,000times)edit:SELECTidINTO@rFROMinfoWHEREsig='signature';INSERTIGNOREINTOfullname(ID,Name)values(@r,'fullname');(repeat49,000times)UPDATEinfoSETdbversion=2098WHEREdbversion=0;UPDATEversionSETver=2098;COMMIT;
PASSO04:servicemysqlrestart
SuaconsultadevetermenosE/Sdediscoduranteaatualizaçãoemmassa.
Experimente!
CAVEAT:definindo innodb_fast_shutdown para 0 força todas as alterações transacionais em ibdata1, ib_logfile0 e ib_logfile1 a serem totalmente liberadas para o disco. Isto faz uma inicialização mais curta do mysql.