IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Optimiser une requête lourde


Sujet :

Langage SQL

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    aucun
    Inscrit en
    Octobre 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2009
    Messages : 98
    Par défaut Optimiser une requête lourde
    Bonjour à tous,

    Je travaille avec MySql et je n'arrive pas à trouver une optimisation à une requête qui devient beaucoup trop longue quand le nombre de données augmente.

    J'ai 3 tables dans ma base de données :
    1 - Documents
    2 - Mots
    3 - DocumentsMots

    La table Documents regroupe tous mes documents et possède les champs idDoc et NomDoc.
    La table Mots regroupe tous les mots qui servent à identifier mes documents et possède les champs IdMot et NomMot.
    La table DocumentsMots fait le lien entre les deux tables précédentes et possède les champs fk_Documents et fk_Mots.
    J'aimerai une requête qui répond à cette demande : "Je veux tous les mots des documents qui possèdent les mots X, Y."

    Requête utilisée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    select 			
    	fk_Mots		
    from			
    	DocumentsMots		
    where			
    	fk_Documents in (		
    		select	
    			fk_Documents
    		from	
    			DocumentsMots dm,
    			Documents d,
    			Mots m
    		where	
    			d.IdDoc = dm.fk_documents and
    			dm.fk_Mots = m.IdMot and
    			m.NomMot in ('X', 'Y')
    		group by	
    			fk_Documents
    	)		
    group by			
    	 fk_Mots
    J'ai rajouté dans le fichier en pièce jointe un exemple d'utilisation.

    Je vous remercie par avance pour vos conseils.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimiser une requête de "classement"
    Par Manu0086 dans le forum Requêtes
    Réponses: 7
    Dernier message: 09/03/2006, 18h47
  2. besoin d'aide pour optimiser une requête
    Par jisse dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/01/2006, 09h41
  3. Optimiser une requête..est-ce possible ?
    Par Thierry8 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 27/09/2005, 11h31
  4. Optimiser une requête SQL d'un moteur de recherche
    Par kibodio dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/03/2005, 20h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo