Bonjour bonjour. Je bosse actuellement sur un projet php avec une très grosse base de données contenant quelques milliards d'enregistrement. Si je viens vous voir aujourd'hui c'est que je bosse sur une optimisation de requête. Celle-ci durait plus de deux minutes avant que je mette les mains dans le cambouis, elle dure désormais une vingtaine de seconde. Mais bon, comme vous vous en doutez, 20 secondes c'est encore beaucoup trop long et il me faut une autre solution. Je ne suis pas du tout un spécialiste en SQL mais je me débrouille assez bien en général. Cependant ici, étant donné le volume de données, j'aurai besoin d'autres avis. Voila où j'en suis arrivé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
  SELECT fbs_import.lien_champ__phrase._pere
       , count(*) as nb
    FROM fbs_import.lien_niveau__phrase
         INNER JOIN fbs_import.lien_champ__phrase
           on fbs_import.lien_niveau__phrase._fils = fbs_import.lien_champ__phrase._fils
   WHERE fbs_import.lien_champ__phrase._pere in (4,5,25,26,27,31,32,33,34,35,36,38,39,41,50,55,59,65,69,82,86,87,88,89,92,93,94,96,97,98,99,100,114,115,116,122,124,126,144,145,149,315,385,406,409,411,416,418,422,434,610,632,638,752,801,843,966,991,1000,1017,1018,1019,1020,1021,1022,1023,1024,1108,1433,1807,1994,2675,2676,3795,3807,3808,3895,3896,3897,3898,3899,3900,3901,3902,3903,4084,4937,5094,5106,5174,5175)
GROUP BY fbs_import.lien_champ__phrase._pere
Merci à ceux qui se pencheront sur ce problème et chercherons à le résoudre Bonne journée.