Page 1 sur 1

Nombreuses selection/insertions dans mysql

Posté : 23 juil. 2006, 21:09
par Dikaro
Bonjour,

j'ai besoin de comparer 2 tables comportants de nombreuses lignes (14 000 000) et de nombreux champs.
Puis d'insérer le résultat dans ma base (environ 3 000 000) en une seule fois (que je n'ai à faire qu'une fois, heurement :shock: )

Habituellement, j'utilise les fonctions habituels mysql.
Mais vu la lenteur du processus, qu'elle est la solution adéquate ?

mysqli ?
mettre toutes les écritures insert dans un fichier texte, pour faire une insertion globale ensuite ?

d'autres solutions ?
des conseils ?
merci pour votre aide.

Posté : 24 juil. 2006, 00:41
par jojolapine
Si c'est vraiment pour une fois, et que tu as peur de dépasser le temps limite d'éxécution...
Tu peux faire en sorte de stocker en session l'endroit où tu en étais dans ton processus, pour que lorsque qu'on approche des 30 sec d'éxécution, tu peux mettre 20 par exemple, tu puisses rediriger vers la même page, en reprenant les choses là où elles en étaient

Posté : 24 juil. 2006, 11:19
par ouckileou
Il faudrait en savoir un peu plus sur la comparaison que tu souhaites faire et les résultats que tu souhaites insérer.

A partir de là, tu pourrais passer par une procédure stockée par exemple.

La version de MySQL utilisée aidera aussi.

Posté : 24 juil. 2006, 11:38
par Dikaro
Chacune des tables est composées d'un id et de plusieurs champs comportant un nombre.


Pour la comparaison, je dois comparer
les nombres des champs de la 1er table avec les nombres des champs de la 2nd table.
Si une ligne de la table1 comporte 3 nombres identiques de la table2 alors j'insére l'id de la table1 et table2 dans ma nouvelle table.

j'utilise la version 4.1 actuellement, mais je peux changer si nécessaire.

Posté : 24 juil. 2006, 12:01
par ouckileou
Version ?

Posté : 24 juil. 2006, 12:20
par Dikaro
la version mysql 4.1.9

Posté : 24 juil. 2006, 13:20
par ouckileou
Hum, j'avais pas vu que tu l'avais déjà dit... tu as édité hein ? :)

Si tu as la possibilité de changer facilement, tu peux passer à la 5 et faire une procédure stockée, à mon avis ce sera le plus pratique et le plus performant.

Posté : 24 juil. 2006, 14:03
par Dikaro
Hum, j'avais pas vu que tu l'avais déjà dit... tu as édité hein ?
oui :oops:

ok, pour les procédures stockées. :D
Je vais regarder comment utiliser ça à partir de la doc officielle.