murd 0 Denunciar post Postado Maio 30, 2012 Bom dia amigos, tudo bem? Bom é o seguinte, estou construindo um sistema, e estou com algumas dúvidas sobre o SQL. O firebird, pelo que pude ver, salva arquivos de extensão .GDB por exemplo o que torna extremamente fácil fazer a instalação do banco de dados, tendo em vista que os dados já prontos ficam neste arquivo. Minha dúvida é a seguinte: Estou utilizando MYSQL no meu sistema, e a versão inicial do sistema já irá com algumas tabelas preenchidas como por exemplo a tabela de LOGRADOUROS, BAIRROS e etc relacionadas a endereço que contém os seguintes numeros de informações: Bairros: 38,777 cidades: 10,053 LOGRADOUROS: 709,440 uf: 27 Eu baixei esta base na internet com uns comandos de INSERT em suas respectivas tabelas. O problema é que é EXTREMAMENTE LENTO incluir estes dados na base de dados via NAVICAT, HeidiSql etc... E aí me surgiu a seguinte dúvida: Meu computador não é tão ruim assim. Toda vez que eu for implantar o sistema em um cliente novo eu vou ter que rodar esses INSERTS iniciais? Não tem como levar só um arquivo .frm por exemplo q vi aqui que são os casos do MYSQL? Existe algum modo de importar esses dados mais rapido? Afinal são quase 1 milhão de dados... Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Maio 30, 2012 Toda vez que eu for implantar o sistema em um cliente novo eu vou ter que rodar esses INSERTS iniciais? Não tem como levar só um arquivo .frm por exemplo q vi aqui que são os casos do MYSQL? Nunca tentei "importar" um bd por meio de arquivos. Mas imagino que possa haver problemas de fazer isso entre máquinas de arquiteturas diferentes. Por exemplo, o tamanho de um campo INT em arquitetura de 32 bits é diferente do tamanho de um campo INT em uma máquina 64 bits Existe algum modo de importar esses dados mais rapido? Afinal são quase 1 milhão de dados... nunca usei nenhum dos dois programas que citou, mas já tentou fazer isso pela linha de comando? é direto no mysql. capaz que seja mais rápido :) Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Maio 31, 2012 Tem como usar algumas técnicas para esta carga ser mais veloz... Qual tipo de tabela (MyISAM ou InnoDB) esta usando? Exemplos: LOCK e LOAD_DATA_INFILE Compartilhar este post Link para o post Compartilhar em outros sites
murd 0 Denunciar post Postado Junho 2, 2012 Tem como usar algumas técnicas para esta carga ser mais veloz... Qual tipo de tabela (MyISAM ou InnoDB) esta usando? Exemplos: LOCK e LOAD_DATA_INFILE Então cara, o que fica melhor? MyISAM ou InnoDB ? Posso mudar aqui, estou começando agora. Não sei qual estou utilizado mas provavelmente é InnoDB. O que é Lock e LOAD_DATA_INFILE ??? Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Junho 2, 2012 LOCK é uma técnica utilizada para previnir inconsistências, isolar uma tabela ou registro até que a operação seja concluída, porém, quando a tabela esta em estado de LOCK, os processos são realizados mais rapidamente, propício para carga de grande volume de dados em tabelas MyISAM. http://dev.mysql.com/doc/refman/5.0/en/optimizing-myisam-bulk-data-loading.html Você pode desabilitar algumas verificações para realização da carga em tabelas InnoDB. http://dev.mysql.com/doc/refman/5.0/en/optimizing-innodb-bulk-data-loading.html LOAD_DATA_INFILE é um comando interno do MySQL para carga de arquivos. http://dev.mysql.com/doc/refman/5.0/en/load-data.html MyISAM é mais rápido que InnoDB, você pode criar seu banco de dados, todas as tabelas como MyISAM, carregar os dados, depois rodar um script para alterar o motor das tabelas e criar as chaves estrangeiras (uma das limitações do MyISAM é a impossibilidade de criar relação de integridade). Repare que algumas técnicas são compatíveis, ou seja, você pode aplicar 2 técnicas para fazer a carga mais rápido. Mas outras técnicas não são compatíveis, ou você aplica 1 ou a outra. Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Junho 4, 2012 se for myisam copiar a pasta da tabela com os dados funciona perfeitamente. Soh nao eh recomendavel. Compartilhar este post Link para o post Compartilhar em outros sites