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

Requêtes MySQL Discussion :

pb de jointure


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 40
    Par défaut pb de jointure
    hello tout le monde,

    j'utilise la version 4.0 de mysql, et j'aimerai optimiser cette requete (c lent!)

    SELECT c.nom as x, count(*) as y
    FROM data d
    INNER JOIN chaines c
    ON (if (c.nom='A' OR c.nom='B' OR c.nom='C' , d.service = c.service OR d.service = c.service2, d.url = c.id ) )

    WHERE c.groupe = 'toto' AND d.timestamp_start >= '2005-11-01 00:00:00' AND d.timestamp_start <= '2005-11-30 23:59:59'
    GROUP BY c.nom ORDER BY x ASC

    En gros, pour les objets de nom A, B et C je souhaite utiliser un attribut de jointure avec la dtable d different, les champs service ou service 2 et non plus le champs id.

    J'obtiens de bon resultat en faisaint deux requetes regroupés par un UNION , mais j'aimerai savoir s'il existe une autre maniere de faire.


    Merci à tous !

  2. #2
    Membre Expert Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Par défaut
    Salut,

    As-tu consulté dans la FAQ le point intitulé Mes requêtes sont lentes, comment les optimiser sans modifier les paramètres serveur ?

    Edit : Peut-on avoir la définition de tes tables aussi ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 40
    Par défaut
    la table chaines a la tete suivante
    bouquet varchar(30) latin1_swedish_ci Non
    nom varchar(100) latin1_swedish_ci Non
    prod int(11) Non 0
    ip varchar(30) latin1_swedish_ci
    sdp varchar(15) latin1_swedish_ci
    sdp2 varchar(15) latin1_swedish_ci
    free int(11) Non 0
    service varchar(7) latin1_swedish_ci
    service2 varchar(7) latin1_swedish_ci

    et j'ai bien lu les améliorations concernant les index

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

Discussions similaires

  1. Jointure qui ne renvoie pas tous les enregistrements
    Par rayonx dans le forum Langage SQL
    Réponses: 12
    Dernier message: 19/07/2024, 09h33
  2. pb jointure texture
    Par dweis dans le forum DirectX
    Réponses: 2
    Dernier message: 24/06/2003, 13h33
  3. Jointures en SQL
    Par Guizz dans le forum Langage SQL
    Réponses: 10
    Dernier message: 04/06/2003, 12h21
  4. Réponses: 14
    Dernier message: 17/03/2003, 18h31
  5. Jointures INNER et jointures classiques ???
    Par UbiK dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/09/2002, 10h29

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