(Re) Bonjour,
je reviens vers vous pour savoir si il serait possible d'optimiser une de mes requêtes. Celle-ci fonctionne, retourne le résultat voulu, mais j'aimerai savoir si il serait possible de l'améliorer pour booster les perfs.
Je cherche à obtenir le nombre de clients inscrit chaque mois ainsi que le nombre de clients convertis (ayant passé une commande). Voici ma requête à l'heure actuelle :
Je pense que la sous-requête prend beaucoup de ressources (sachant que pour l'année 2015, j'ai environ 1000 clients inscrits). Pensez-vous qu'il est possible de l'optimiser ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT COUNT( client.id ) AS nbClient, DATE_FORMAT( client.created, "%Y" ) AS year, DATE_FORMAT( client.created, "%m" ) AS month, SUM( CASE WHEN (SELECT COUNT( * ) FROM commande WHERE commande.idClient = client.id ) > 0 THEN 1 ELSE 0 END ) AS nbConvertis FROM client WHERE client.created >= '2015-01-01' AND client.created < '2015-09-17' GROUP BY DATE_FORMAT( client.created, "%Y-%m" )
Merci par avance
Partager