Tenho que fazer uma importação de arquivo txt delimitado por ponto e virgula para o mysql. estou fazendo um teste com 500000 registros.Estou usando JDBC e tentei de alguns modos:
1 - inserindo em massa
insert into rawreports(date, data, project_id) values (('$date1', '$data1', '$project_id1'),('$date2', '$data2', '$project_id2'), .....)")
esse método funciona porem apresenta travamento as vezes ao inserir poucos registros e sempre ao inserir muitos registros.
2 - inserindo um a um com insert. com autocommit true esse método funciona porem vai consumindo cada vez mais cpu até chegar aos 100% e dá uma sobrecarga e para o processo.
3 - tentei inserindo um a um com insert. com autocommit false e dando commit quando chega perto dos 100% de cpu, ou pausando o programa quando chega perto dos 100% de cpu, mas dá o mesmo erro do de cima
4 - estou pensando em fazer LOAD DATA INFILE. ja testei aqui e baixa 500000 em um segundo. porém se eu quiser tratar o arquivo e extrair as chaves estrangeiras para outras tabelas precisarei criar outros txts .. procede esse método? achei que fica bem gambi isso de criar varios txtzinhos..
Acho meio impossível nao ter outyra forma sem ser LOAD DATA INFILE. afinal e se fosse um crawler da internet eu teria que criar txts, isso nao faz o menor sentido.
Aguardando a resposta, e desde já agradeço pelo tempo concedido.