Auteur Sujet: Y A T'il Une Limite Au Nombre De "join"  (Lu 1020 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Jacques Ghémard

  • Habitué
  • **
  • Messages: 224
    • http://www.francaislibres.net
Y A T'il Une Limite Au Nombre De "join"
« le: 10 juin 2003 à 17:09:33 »
Bonjour,

Y a t'il une limite imposée pour le nombre de tables appelées dans une requete ?

En d'autre termes, chez PHP-Net, quand arrive le fatidique ***The SELECT would examine too many records and probably take a very long time. Check your WHERE and use SET OPTION SQL_BIG_SELECTS=1 if the SELECT is ok *** qui me tombe actuelement dessus chez xxx pour cette "élégante requete" réunissant 6 tables dont 3 fois la même et 2 minuscules
Citer
SELECT
T1.Terme as Ter1, T1.PreTerme as Pre1, T1.Sigle as Sig1, T1.Validation as Val1,
T2.Terme as Ter2, T2.PreTerme as Pre2, T2.Sigle as Sig2, T2.Validation as Val2,
T3.Terme as Ter3, T3.PreTerme as Pre3, T3.Sigle as Sig3, T3.Validation as Val3,
IndexDef, TexteSug, TexteVal, Image, Comment, Site, UrlSite, Contributeur, Definitions.Validation as ValDef,
TexteRubrique
FROM U
LEFT JOIN Glossaire as T1 on (N=1)
LEFT JOIN Glossaire as T2 on (N=2)
LEFT JOIN Glossaire as T3 on (N=3)
LEFT JOIN Definitions on Definitions.IndexItem = IFNULL(IFNULL(T1.IndexItem, T2.IndexItem), T3.IndexItem)
LEFT JOIN Rubriques on IndexRubrique = IFNULL(IFNULL(T1.Rubrique, T2.Rubrique), T3.Rubrique)
where IFNULL(IFNULL(T1.Terme, T2.PreTerme), T3.Sigle) like 'A%'
order by IFNULL(IFNULL(T1.Terme, T2.PreTerme), T3.Sigle) LIMIT 0, 30  
Merci
Jacques
« Modifié: 10 juin 2003 à 17:11:26 par Jacques Ghémard »

Hors ligne alex

  • VIP
  • *****
  • Messages: 1 915
Y A T'il Une Limite Au Nombre De "join"
« Réponse #1 le: 10 juin 2003 à 20:41:23 »
Regarde cet article, ca va surement t'aider ;)

Ca te permet de spécifier au serveur que la requête que tu fais est à considérer comme longue.
« Modifié: 10 juin 2003 à 20:42:07 par Alex »