bonjour,

j'ai trois tables :
1 contenant 13304 enregistrement, une seconde avec 53591enregistrements et une derniere avec 9000 enregistrements ...
Le problème est que lorsque je fais une requete ceci prend un certains tps (1 mns a deux mns), ce qui occasionne un ralentissement...
j'aimerais savoir s'il est possible d'optimiser au plus la requete :

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 distinct author.codeservice,article.pmid
                        from articleauthor,author,article
			where author.idaut=articleauthor.idaut
                        and article.pmid=articleauthor.pmid
			and author.codeservice not in ($sqlListeService)
			and author.codeservice <> ''
			and article.pmid in
                         ( select distinct aa.pmid
                           from author as au,articleauthor as aa,article as art
			   where au.idaut=aa.idaut
  			   and au.codeservice in ($sqlListeService)
			   and art.Annee>=$deb
			   and art.Annee<=$fin
                          )
la voici ...

j'ai fais un vacuum et analyse mais rien ni fais...
Quand je fais le produit cartesien de ses trois table, je suis a 393 milliard !!!
Peux ton faire quelque chose pour améliorer ce temps?