|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre émérite
![]() |
Salut,
Comme j'ai déjà eu l'occasion de le dire, je suis loin d'être un champion dans les requêtes. En utilisant l'interface phpMyAdmin, j'essaie d'exécuter le code suivant : Code :
j'ai essayé de passer les ON dans la clause WHERE mais idem... Voyez-vous quelque chose de faux dans ma requête? merci pour vos conseils |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : février 2006 Messages : 953 ![]() |
Ca a l'air d'aller... Il est possible de savoir si mysql rame, pour être certain que c'est un pb de performances ?
Tout ce que je vois c'est un problème d'indexes. Si les tables sont grosses et qu'il n'y a pas d'indexe les liaisons peuvent être (trop) couteuses. Que dit 'EXPLAIN' ? Quelles sont les tailles des tables ? Sinon toutes les liaisons sont-elles indispensables pour juste comptrer des couples MeasurementAttributes-Measurement ? Est-ce qu'un 'Measurement.TreeID IS NOT NULL' ne suffirait pas ? |
|
|
00
|
|
|
#3 | |||
|
Membre émérite
![]() |
Oui certaines tables ont pas mal d'enregistrements mais elles sont indexées.
Citation:
Code :
|
|||
|
|
00
|
|
|
#4 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Ta requête fait la même chose avec le client console ou bien une autre interface comme QueryBrowser ?
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : février 2006 Messages : 953 ![]() |
A supposer que le problème vienne effectivement de la requète plutôt que du client, une idée serait d'essayer par petit bout en ajoutant une table à chaque fois, pour localiser le problème. Et/ou en se limitant à un seul tree car il semble y en avoir énormément, histoire de valider que ça marche.
Il manquerait peut-être un indexe sur (Measurement.StemID, Measurement.TreeID), suivant la répartititon des enregistrements. Ou même (Measurement.StemID, Measurement.TreeID, Measurement.CensusID) pour faire 'JOIN Measurement ON Measurement.StemID=Stem.StemID AND Measurement.TreeID=Stem.TreeID AND Measurement.CensusID=6' Autre idée, inverser l'ordre... même si faire un 'like' sur tous les 'MeasurementAttributes' n'est peut-être pas une bonne idée vu qu'ils doivent être très nombreux. |
|
|
00
|
|
|
#6 | ||
|
Membre émérite
![]() |
Citation:
j'ai essayé directement dans mysql en ligne de commande sans passé par phpmyadmin, et c'est toujours pareil, donc il doit y avoir un schmurtz dans la conception de la base. Citation:
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com