2009-12-09 6 views
0

Basé sur my previous question Je suis en cours d'exécution d'une requête comme ceci:fonctions répétitives dans une requête MySQL

SELECT DISTINCT DATE_FORMAT(STR_TO_DATE(`value`, '%d/%m/%Y'), '%M %Y') AS `avail` 
FROM table 
ORDER BY STR_TO_DATE(`value`, '%d/%m/%Y') 

Le champ value est au format jj/mm/aaaa et en utilisant STR_TO_DATE je convertir en yyyy -mm-dd. Cependant, je répète cette fonction deux fois, donc je me demandais (a) quelle est son efficacité, et (b) si oui, comment améliorer l'efficacité (et la lisibilité)?

Je sais que dans ce cas c'est probablement une micro-optimisation mais ça m'intéresse quand même - il y a sûrement des fonctions plus complexes où une optimisation ferait une différence significative.

+0

Je crois que ce n'est pas votre * requête réelle * ('... ORDER BY commande par ...'). – jensgram

+0

Vous avez raison, mon mauvais! – DisgruntledGoat

Répondre

1

l'optimiseur de requête mysql devrait prendre soin de cela.

mysql permettrait l'utilisation des alias dans le groupe par article, mais tous les autres SGBD ne pas