Olá pessoal…
Estou precisando fazer a migração de uma base de dados firebird para o mysql. A estrutura do banco é diferente, nome das tabelas e campos mudaram por isso não posso simplesmente exportar do firebird e importar do mysql direto. Tenho que fazer uma aplicação para tratar essas diferenças e inserir os dados vindos do firebird nas tabelas e campos correspondentes no mysql. Desenvolvi usando uma função que pega os dados no firebird e grava em um hashmap e outra função que pega esses dados do hashmap e grava no mysql, mas o desempenho ficou ruim e o consumo de memória ficou mto exagerado, inclusive com estouro dando o seguinte erro:
Limpei os hashmap após o uso, setei as sentenças sql como null para ver se melhorava, mas não resolveu.
Tentei fazer tb com uma única função que busca os dados, grava no resultset e insere no mysql desse mesmo resultset sem usar hashmap ou qualquer outra coisa, mas o problema continuou o mesmo, desempenho fraco e consumo exagerado de memória.
Para exemplicaficar, uma tabela de aproximadamente 40000 registros ta demorando entre 18 e 20 minutos para migrar os dados e ta estourando a memória, a aplicação chega a usar 1GB de memória.
Qual seria a melhor maneira de fazer um procedimento de migração de dados como esse? Alguém tem alguma idéia?
Desde já, agradeço a atenção de todos.