C'est bien ce dont je me doutais un peu, c'est la première qui serait la mieux au niveau stabilité et rapidité...
PierreC a écrit :
D'où vienne ces 5000 id ? formulaire ? csv ? ne serait t'il pas plus rapide d'ecrire les 5000 id dans une table MEMORY ou TEMPORARY puis de faire une jointure ?
Tu peux aussi faire des EXPLAIN pour demander à mysql d'expliquer la requete que tu lui donne.?
|
En gros, le principe est le suivant : je réalise un export csv d'une table de demandes, cet export étant lancé par cron le soir à 00h30, et il est ensuite envoyé par mail au client.
Le fait est que les id que j'ai à envoyer chaque soir me sont fournis par une autre application propriétaire du client ( ni PHP, ni MySQL, vraiment aucun rapport ), et par bloc de 5000. Je prends ces id ( il peut y en avoir 0 ou 50000 au final), et je fais donc mes requêtes sur la base par bloc de 5000 demandes. Ainsi, si j'ai 15000 demandes à envoyer, je vais donc faire 3 envois de mails, chacun contenant un csv de 5000 demandes ( car le fichier csv a lui aussi du mal s'il contient plus de 5000 demandes ).
Globalement ça tournait bien pour le moment, mais j'avais des erreurs de segmentation, donc je suis en train d'alléger le code ( qui était assez lourd dans sa 1ère version ), et je me demandais donc si je pouvais gratter quelque chose du coté de MySQL...
Message édité par DaSayan le 23-03-2009 à 16:15:31
---------------
Tous les programmeurs sont des auteurs et tous les ordinateurs sont de mauvais acteurs.