Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/05/2006, 21h45   #1
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 121
Points : 1 121
Par défaut [Windows]Mesure du temps d'insertion de deux cents mille lignes en MySQL

Bonjour,

Je réalise actuellement un comparatif entre différents temps d'accès à des données sur le serveur MySQL.

Je cherche actuellement à mesurer l'insertion de 200.000 lignes de données dans une base mysql via la console.

Je pensais me connecter sur la console et lancer ces scripts :
Code :
1
2
3
DOS>mysql -u test -p test -b
mysql>USE test;
mysql>source d:/monfichier.sql;
Ce code fonctionne, sauf que le retour ce fait de la façon suivante :

Code :
1
2
3
4
5
6
7
mysql> source d:/mon_fichier.sql;
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.02 sec)
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.03 sec)
Query OK, 1 row affected (0.02 sec)
Malheureusement, je ne souhaite pas le temps de chaque insertion, mais le temps de l'execution globale. Quelqu'un aurait une idée me permettant de mesurer ce temps total ?

Pour information je suis en mysql 5.0, et sur un Windows XP, je passe mon script via "l'émulation" de console DOS et la console mysql.

Merci de votre aide, car là je sèche un peu !

PS : J'ai bien pensé à récupérer le contenu total mais l'incertitude sur le centième de seconde par ligne insérée est trop grande. En effet, avec 200.000 lignes, la répétabilité de l'incertitude de ma mesure serait de 200000 * 0,01 = 2000 secondes, soit 33 minutes et 20 secondes. Et un test comparatif déterminant que l'insertion de 200000 lignes durent 1h20 + ou - 33 minutes est assez ridicule !
__________________
Alexandre T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 01h12   #2
Membre Expert
 
Avatar de davcha
 
Inscription : avril 2004
Messages : 1 132
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 1 132
Points : 1 190
Points : 1 190
As-tu essayé ceci ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
INSERT INTO TABLE
(champ1,champ2,...)
VALUES
(champ1,champ2,...),
(champ1,champ2,...),
(champ1,champ2,...),
(champ1,champ2,...),
(champ1,champ2,...),
(champ1,champ2,...),
(champ1,champ2,...),
(champ1,champ2,...),
(champ1,champ2,...),
(champ1,champ2,...),
(champ1,champ2,...),
....
davcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 07h42   #3
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Si tu peux obtenir un fichier au format csv, utilise 'LOAD DATA INFILE ....'. C'est le plus rapide, ça ne devrait pas prendre plus de quelques secondes.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 08h16   #4
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 121
Points : 1 121
Je vous remercie, je le sais bien. Je vais mesurer ces temps là également. (Je conseille d'ailleurs souvent l'usage de LOAD INTO ...) Le but est de faire un comparatif pour extraire les temps dans le but d'un article sur MySQL, les connexion php natives, les connexions consoles, et les connexions via PDO.

Mais je veux mesurer CE traitement qui n'est justement pas optimiser

Mais merci de vous pencher sur mon soucis.
__________________
Alexandre T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 09h09   #5
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Tu peux ajouter :
Code :
1
2
 
SELECT unix_timestamp() INTO OUTFILE .....
au début et à la fin de ton fichier sql
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 09h40   #6
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 121
Points : 1 121
Oui je n'y ai jamais pensé ! Merci beaucoup de l'astuce, je vais partir sur cette voie.
__________________
Alexandre T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2006, 11h12   #7
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Tu pourrais aussi utiliser des outils de mesure de performance comme Quest benchmark factory ou Sysbench...
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h11.


 
 
 
 
Partenaires

Hébergement Web