|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() |
Bonjour à tous.
Je me tourne vers vous, car j'ai une requête qui "mouline" bien trop longtemps.. Voici la requête en question : Code :
Je précise que cette requête fonctionne, i.e elle me retourne le résultat attendu, mais j'ai le temps d'aller chercher un café et de le boire avant qu'elle me le donne.. Je précise également, que toutes les colonnes intervenant dans les jointures sont indexées. Enfin, j'avais essayé avec un "ORDER BY TRACE_MEASURE_DATE DESC LIMIT 1" à la place de la sous requête, et c'était pas mieux... Si qq'un peut me donner des billes, ça serait bien cool !
__________________
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas. |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Saluton,
Pour la lisibilité je remplacerais Code mysql :
Code mysql :
AND (st.TRACE_ANSWER IN (0,3,4,5) Pour le reste, MySQL apprécie assez peu les sous-requêtes. J'ajoute que la guerre des étoiles est parfois aussi très consommatrice de ressources.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
||
|
00
|
|
|
#3 |
|
Membre confirmé
![]() |
Yop merci pour la réponse.
Ok pour le IN, c'est plus lisible. Pour la guerre des étoiles pas de prob, je sais
__________________
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas. |
|
|
00
|
|
|
#4 |
![]() ![]() |
Justement, si tu donnais le vrai SELECT et la structure des tables, j'aurais peut-être une solution avec une jointure simple sur une sous-requête GROUP BY.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() |
Bonjour !
Voici le select : Code :
__________________
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas. |
||
|
|
00
|
|
|
#6 | ||||||||
|
Membre confirmé
![]() |
La table T_TRACE :
Code :
La table T_MEASUREMENT_CHAIN Code :
Code :
Code :
__________________
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas. |
||||||||
|
|
00
|
|
|
#7 | ||
![]() ![]() |
Comme tu ne veux que les colonnes de la table T_TRACE pour la ligne qui correspond à la date max selon tes critères de restriction, regarde si cette requête convient :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#8 |
|
Membre confirmé
![]() |
Merci pour la réponse, je checke ça de suite et te tiens au courant !
__________________
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas. |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() |
Re !
Alors j'ai testé ta requête CinePhil, malheureusement, elle me renvoie toutes les lignes correspondant au doublet (xpdr_id, chain_id) et non pas juste celle ayant la date la plus récente :'( J'ai testé à part la sous requête (alias tmp), et elle, elle fonctionne correctement (renvoie bien la date max pour le double (xpdr_id, chain_id) !!
__________________
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas. |
|
|
00
|
|
|
#10 | ||
![]() ![]() |
Effectivement, j'ai oublié de mettre la restriction sur la date = date_max !
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#11 |
|
Membre confirmé
![]() |
Bon, ça cartonne, ça fonctionne, et ça va vite !
Merci beaucoup à toi CinePhil ainsi qu'a Maljuna Kris de m'avoir dépanné !
__________________
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas. |
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Pourquoi ne pas en faire un des critères de la jointure plutôt que d'ajouter une clause WHERE ?
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
00
|
|
|
#13 | |
![]() ![]() |
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#14 | |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 530 ![]() |
Citation:
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
|
00
|
|
|
#15 | |
![]() ![]() |
Citation:
J'ai dû être perturbé par des trucs plus compliqués... après la pause déjeuner ça va mieux !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com