Nombreuses selection/insertions dans mysql

Petit nouveau ! | 9 Messages

23 juil. 2006, 21:09

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.

ViPHP
ViPHP | 3607 Messages

24 juil. 2006, 00:41

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

24 juil. 2006, 11:19

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.

Petit nouveau ! | 9 Messages

24 juil. 2006, 11:38

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.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

24 juil. 2006, 12:01

Version ?

Petit nouveau ! | 9 Messages

24 juil. 2006, 12:20

la version mysql 4.1.9

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

24 juil. 2006, 13:20

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.

Petit nouveau ! | 9 Messages

24 juil. 2006, 14:03

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.