2012-04-04 5 views
0

J'ai effectué un test aujourd'hui. pour voir les variantes de performance d'insertion sur une table innodb qui est vide avec le fichier source ayant 10K enregistrements.Que me disent ces statistiques?

j'ai utilisé "mysql -uuname -pxxxxxx -Ddbanme < insert_file.sql"

Voici les différentes statistiques qui sont sorties.

BINARY LOGGING IS ENABLED 
    innodb_flush_log_trx_commit = 1  Time: 25 minutes 
    innodb_flush_log_trx_commit = 2  Time: 4 seconds 

    BINARY LOGGING IS DISABLED 
    innodb_flush_log_trx_commit = 1  Time: 6 minutes 
    innodb_flush_log_trx_commit = 2  Time: 3 seconds 

Je ne sais pas trop quoi comprendre. S'il vous plaît partager vos pensées sur les détails de ce test.

+0

Merci Fenwick d'avoir rendu le message plus joli. – Uday

+0

vous avez également besoin d'un matériel spécial pour définir 'innodb_flush_log_trx_commit = 2', ou vous pouvez perdre des données sur le plantage – kommradHomer

+0

Connaissez-vous la différence entre' trx_commit' 1 et 2? –

Répondre

2

Jetez un oeil here vous verrez que lorsque innodb_flush_log_trx_commit est 1 MySQL écrit pour vider le journal plus souvent. Comme vous pouvez le voir dans la documentation, il doit être 1 pour obtenir la conformité ACID. Dans votre cas, lors de l'importation de données, si vous avez la valeur 1 et que quelque chose se brise, toute votre transaction échouera (la table restera vide), avec une valeur de 2, si quelque chose se brise, votre table contiendra les enregistrements réussis. échoué). En ce qui concerne BINARY LOGGING, lorsqu'il n'y a pas de consignation binaire, votre insertion fonctionne plus rapidement. Vous n'avez pas besoin de journalisation binaire si vous n'avez pas de serveurs esclaves et que vous ne voulez pas répliquer les commandes de votre serveur maître, vous pouvez donc l'éteindre car cela augmentera vos performances.

+0

Je veux dire s'il y a un cas spécial où lorsque innodb_flush a la valeur 1 et que la journalisation binaire est activée, il y aura un ralentissement drastique des performances ... Ce qui est le cas ici. de toute façon merci pour vos contributions. – Uday

+0

Votre test a déjà montré qu'il y a une différence de performance. Il y aura une différence avec toute opération d'écriture que vous effectuez. Cependant, ces deux paramètres ne devraient pas avoir d'impact sur les performances des SELECT. –

Questions connexes