2010-02-03 7 views
0

Nous utilisons le serveur MySQL version 5.1.43 64-bit. InnoDB est utilisé comme moteur.L'insertion de MySQL InnoDB est très lente

Nous avons un script sql que nous exécutons chaque fois que nous construisons l'application.

Sur une machine Ubuntu avec serveur MySQL et moteur InnoDB, il faut environ 55 secondes pour terminer l'exécution.

Si j'exécute le même script sous OSX, cela prend près de 3 minutes!

Des idées pour lesquelles OSX est si lent lors de l'exécution de ce script?

+0

Ma boule de cristal me dit que votre requête sélectionne les données de la table des membres. Ai-je raison? – Dor

+0

Non. Nous n'avons que des instructions d'insertion. Pas de sélection ... insérer des trucs. –

+0

Quelle est la différence entre les deux machines? Les vitesses des disques durs sont-elles les mêmes? En outre, combien de lignes insérez-vous? – Echo

Répondre

0

mes boules de cristal ont besoin de plus d'informations. étant différent d'exécuter un script sur une base de données sur la même machine, tenez compte du temps système. surtout si les inserts sont données intensives

+0

Nous exécutons tout sur la machine locale. La surcharge du réseau/la configuration de la machine est éliminée. La seule différence est le système d'exploitation et rien d'autre. –

1

Vous pouvez essayer de démarrer le serveur avec my.ini changé

innodb_flush_log_at_trx_commit=2 

et retourniez à

innodb_flush_log_at_trx_commit=1 

pour l'utilisation de la production.

J'ai suspecté que l'API fsync dans OSX est plus lente que Linux?