2011-04-08 3 views
3

J'ai une requête SELECT INTO OUTFILE qui peut renvoyer jusqu'à ~ 160 000 lignes ou quelques dizaines de mégaoctets de données. Il faut beaucoup de temps pour courir - comme 20 minutes. Si je fais LIMIT 100 la requête prend une fraction de seconde, il semble donc que ma requête est probablement optimisée presque aussi bien que possible. Y a-t-il des techniques d'amélioration de performance spécifiques à SELECT INTO OUTFILE?Optimisation pour SELECT INTO OUTFILE

Par exemple, il y a peut-être un paramètre de mémoire dans my.cnf qui aide ou quelque chose.

Remarque: cette question ne concerne pas l'optimisation des requêtes, veuillez ne pas demander à voir ma requête si c'est ce que vous recherchez. Il y a beaucoup d'aide disponible ailleurs. Je demande des techniques de performance qui améliorent spécifiquement les requêtes SELECT INTO OUTFILE. Je suis sur Ubuntu, si cela fait une différence.

Répondre

0

Est-ce via un réseau? Combien de temps faut-il pour copier le fichier résultat sur la même topologie? Mesurer avec "LIMIT 100" n'est pas nécessairement un très bon test pour quoi que ce soit.

Généralement, la différence entre SELECT et SELECT INTO OUTFILE sera le temps nécessaire pour obtenir les données sur un disque quelque part. Et cela peut impliquer beaucoup de choses dont vous ne nous parlez pas beaucoup.

Questions connexes