Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1507 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] jointure entre 5 table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] jointure entre 5 table

n°217578
slvn
Posté le 20-09-2002 à 09:17:16  profilanswer
 

je dois faire une jointure entre 5 tables... il se trouve que la requete est bonne mais que le serveur mysql suis pas (Lag a fond, alors qu'avec le reste ca passe..)
 
je me demandais, si il y avait moyen de préciser quelle jointure doit etre effectuée en premier (car une des jointure reduit enormement la taille du resultat)

mood
Publicité
Posté le 20-09-2002 à 09:17:16  profilanswer
 

n°217582
Sh@rdar
Ex-PhPéteur
Posté le 20-09-2002 à 09:57:57  profilanswer
 

pour le left join tu fais d'abord un select, puis les jointures dans l'ordre de la requête.
 
donne ta query qu'on jette un oeil ;)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°217612
M@rs
Posté le 20-09-2002 à 11:36:52  profilanswer
 

Je peux te donner la règle que je suis avec Oracle, par exemple tu as deux tables:
 
une table A avec 10,000 lignes  
une table B avec 1,000,000 lignes
 
L'ordre de ta jointure doit être de B -> A, donc de joindre la table plus volumineuse avec la moins volumineuse:
select ...
from A,B
where B.id_B = A.id_A
 
Pour ta question sur : est-il possible de spécifier quelle jointure doit être effectuée en premier,... avec Oracle c'est très possible avec les Hints (/*+ORDERED USE_NL(A) */)...avec mysql il y a également des Hints, mais je n'est pas souvenir d'un hint qui permettait de faire ce que tu veux. sinon va voir vers ce lien :
http://www.mysql.com/doc/en/SELECT.html
 
Sinon, dans tous les cas, assure toi bien que les colonnes que tu utilises pour réaliser tes jointures sont indexées,ou sont les clés primaires des tables. Il est moins couteux de faire un parcours d'index (index lookup) q'un parcours total ) de ta table (full table scan).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] jointure entre 5 table

 

Sujets relatifs
Problème de somme dans requête SQL[PHP] Est ce que je pars sur le bon principe pour ma TABLE ?
[Algo.] Importation BD: fichier texte -> tables SQLDe access à SQL server
Probleme d'écriture de requete en SQL :[SQL] Comment sélectionner toutes les colonnes sauf celles précisées ?
[SQL] L'id du fichier n'existe pas dans la table rubrique[SQL] aide sur un SELECT
Requête SQL : clause avec 2 valeurs, c'est possible ? 
Plus de sujets relatifs à : [SQL] jointure entre 5 table


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR