Mon importation de SQL via la console MySQL est plutôt lente et, comme l'augmentation de notre fichier SQL augmente chaque jour, j'aimerais savoir s'il existe des alternatives sur la manière d'importer un fichier SQL plus rapidement.
Changer à Oracle ou d'autres systèmes n'est pas une option, la configuration doit rester identique. P>
Actuellement, le fichier SQL est: 1,5 Go. Je suis sur wamp avec Apache 2.2.14, PHP 5.2.11 et MySQL 5.1.41. P>
Peut-être que le problème est ici, l'importation est effectuée par un simple: p> toute suggestion? p> p> p>
4 Réponses :
Je ne suis pas sûr que cela résoudra votre problème, car je ne suis pas sûr que le goulot d'étranglement est ... Cependant, j'ai été vraiment impressionné par le libre TOAD pour MySQL outil en tant que console de gestion MySQL de remplacement. Il a d'excellents outils d'importation et est généralement de mieux imo que la console de gestion MySQL standard. P>
Quelqu'un d'autre a l'expérience du crapaud sur cette question avec d'énormes datafiles?
Avoir des index activés pendant l'importation ralentira votre serveur à un crawl. Aussi, peut-être utiliser des tables MyISAM (contrairement à InnoDB avec des options d'intégrité référentielle) donne généralement de meilleures performances, car il n'y a pas d'intégrité référentielle aérienne impliquée. P>
Personnellement, je n'utilise pas l'instruction d'importation de la console MySQL, mais importez des fichiers SQL à l'aide de J'espère que cela aide. P> Alter Tableau Code> Nom
Désactiver les touches CODE>; et en utilisant
.. Activer les touches CODE> avant et après l'importation, améliorera la vitesse d'importation, mais prendra du temps pour recréer des index. Il pourrait donc ne pas être un grand gain de vitesse après tout. P >
mysql -uuser -pass dbname
Pensez à utiliser la commande mysqlimport. Il faudra un fichier plat contenant des données dans un format à tabulation ou quelque chose d'autre, et l'importait directement dans le tableau, plus rapide que d'exécuter les requêtes SQL.
Voir dev.mysql.com/doc/refman/5.0/fr/mysqlimport .html pour info sur la commande mysqlimport, si vous ne le connaissez pas.
Par défaut, lors de l'exportation de tables MySQL Workbench entoure Insérer des instructions code> pour chaque table par
Désactiver les touches; ...; Activer les touches code>.
Essayez ces http: // dev.mysql.com/doc/refman/5.5/fr/optimizing-innodb-bulk-data-loading.html
C'est peut-être une question d'autocommande, tournez-la alors voir ce qui se passe. P>
La commutation automatique de commutation est la première d'une série de recommandations indiquées dans Chargement des données en vrac pour les tables d'innoDB pour accélérer les opérations de restauration pour MySQL.
au lieu de changer d'autocommande manuellement au moment de la restauration, vous pouvez déjà jeter vos données MySQL d'une manière qui inclut tout déclarations nécessaires dans votre fichier SQL. P>
Le paramètre de ligne de commande pour MySqldump est Voici un exemple pour une ligne de commande MySqldump complète que je l'utilise , contenant pour plus de détails sur ces paramètres Voir le référence de mysqldump p> p> p> - no-autocommit code>. Vous pouvez également envisager d'ajouter
- opt code> qui définit une combinaison d'autres paramètres pour accélérer les opérations de restauration. P>
- no-autocommit code> et
- opt code>: p>
Utilisez-vous MySQLIMPort ou charger des données infilières?
C'est quelque chose qui doit être placé dans le SQL si je suis correct, ce n'est pas possible, car vous ne pouvez pas modifier un fichier SQL de 1,4 Go dans n'importe quel éditeur, et cela provient de la source externe.
Cela peut aider quelqu'un: d'abord redémarrer votre ordinateur, puis désactiver vos traqueurs d'antivirus / pare-feu / de bande passante + tout autre programme que vous n'avez pas besoin de courir. Mais invalidant ces deux choses que j'ai augmenté la vitesse comme 6x.