|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 284 ![]() |
Bonjour,
Je vais effectuer un LOAD INFILE depuis un fichier, sur une table contenant plusieurs index d'unicité. La fichier fait 1.2 milliards de lignes, je souhaite pouvoir contrôler l'état d'avancement, sachant que contrôler l'état de la table cible ne me servira à rien, puisqu'elle filtre la redondance Sauriez-vous comment récupérer l'état du LOAD DATA ? En vous remerciant, C. Tobini |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 986 ![]() |
Je ne pense pas que cette info puisse être vérifiable.
Je dirais qu'il y a une astuce un peut "Technique de chien malade" mais si tu connais le nombre d'enregistrement à insérer et le nombre déjà dans la table. De là, il suffirait de faire un COUNT dans la table cible à intervalle régulier. Par contre, il faut s'assurer que la table cible ne soit pas verrouillé par le LOAD DATA. Dans le fichier source il est possible d'y placer ceci Code :
"Effectivement mon chère, ceci est bien une technique de "chien malade" certifiée."
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
||
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 284 ![]() |
Bonjour et merci de la réponse,
J'y avais pensé, mais, comme je l'ai dit dans le premier post, la table cible contient une clé multiple unique, ce qui fait que le nombre d'entrées ne reflète pas l'avancement du fichier. 500 entrées peuvent être insérées alors qu'un million de lignes ont été lues (ou pas...) C. Tobini |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 986 ![]() |
Solution, c'est d'ajouter des marqueurs dans le fichier de script pour savoir ou le processus se trouve. ça va pas forcément avancer comme si c'était un téléchargement de fichier mais les étapes en cours seront visible.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 284 ![]() |
C'est ce que j'avais fait dans une première version de script, en créant une boucle de 1 à la dernière ligne, par pas de 10 000, en stockant tout dans une table temporaire MyISAM. Du coup, toutes les 10 000 lignes insérées, j'avais une vue sur le compteur.
Vu le nombre de données, je compte plus sur un LOAD pour la vitesse théorique (20 fois celle d'un insert). C. Tobini |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 986 ![]() |
Disons que le LOAD DATA est un processus à lui seul donc, connaitre son avancement n'est pas tellement compatible mais ça reste faisable quand même.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 284 ![]() |
Bonjour,
Je ne comprends pas le sens de 'compatible' ? Et si ça reste faisable, alors que faut-il faire ? Je fais un chti hors sujet: ton avatar est terrible, il me fait sourire à chaque fois, il sort d'où ? C. Tobini |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 986 ![]() |
Je veux dire que le processus du LOAD_DATA doit pas permettre de piocher l'information de l'état d'avancement. Par contre, via une ruse un pas forcément juste c'est peut être possible. En prenant par exemple la taille du fichier source est soustraire à la taille de la base de données entière. Mais l'information ne sera pas juste.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 986 ![]() |
Cadeau
![]() J'utilise cette image pour dire : "Certifié code de chien malade" C'est à dire un vieux code tout merdique
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Inscription : avril 2004 Messages : 284 ![]() |
Enorme le toutou, il a une tête magique
Merci pour tout et à + C. Tobini |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com