Bonjour à tous,
je rencontre un problème d'optimisation d'une de mes requêtes. je souhaite afficher les séjours répartis par communes d'origines des patients pour un établissment et un GHM donné.
Voici les trois tables que j'intérroge dans ma requête :
https://lh3.googleusercontent.com/_f...ait_Schema.png
Voici ma requete trop longue (plus de 30 sec) ainsi que son plan d'éxécution :
https://lh6.googleusercontent.com/_f...e_Code_Geo.pngCode:
1
2
3
4
5
6
7
8
9 select Code_geo, nb_sejour from Sejour s inner join GHM g on s.Id_GHM=g.Id_GHM inner join Etablissement e on e.id_etab=s.id_etab inner join Geo ge on s.id_geo=ge.id_geo where Code_GHM like '%C%' and finess like '690781810' group by Code_geo;
Le problème vient manifestement de la jointure avec la table Geo. En effet, quand j'affiche juste l'id_geo de la table sejour, mon temps d'execution passe sous la seconde
https://lh6.googleusercontent.com/_f...Exe_Id_Geo.pngCode:
1
2
3
4
5
6
7
8 select id_geo, nb_sejour from Sejour s inner join GHM g on s.Id_GHM=g.Id_GHM inner join Etablissement e on e.id_etab=s.id_etab where Code_GHM like '%C%' and finess like '690781810' group by Code_geo;
Pour info, voici les show index des tables sejour et geo :
Sejour :
https://lh6.googleusercontent.com/_f...x%20sejour.png
GEO :
https://lh5.googleusercontent.com/_f...ndex%20geo.png
Avez-vous des pistes de réflexion?