Jointure vers sous-requête

Jointure vers sous-requête - SQL/NoSQL - Programmation

Marsh Posté le 12-08-2009 à 11:52:06    

Bonjour à tous,
Je tente d'utiliser des sous-requête pour éviter les jointure lente, mais je n'y arrive pas, ma médiocre jointure fonctionne bien plus vite.
Peut-on l'optimiser ou alors faire une sous-requête plus efficace ?

Code :
  1. SELECT * FROM images,tags,user WHERE images.id_img=tags.id_img AND tags.id_user=user.id_user AND user.st=5 AND tags.st_tag=0 AND (MATCH (user.firstname_lastname) AGAINST (\"$sk_search\" IN BOOLEAN MODE))

Reply

Marsh Posté le 12-08-2009 à 11:52:06   

Reply

Marsh Posté le 12-08-2009 à 11:55:55    

sauf erreur de ma part, c pas une jointure ca...
 
ca ressemblerait plutot à ca:

Code :
  1. SELECT *
  2. FROM images
  3. INNER JOIN tags ON images.id_img=tags.id_img
  4. INNER JOIN user ON tags.id_user=user.id_user
  5. WHERE user.st=5
  6. AND tags.st_tag=0
  7. AND (MATCH (user.firstname_lastname) AGAINST (\"$sk_search\" IN BOOLEAN MODE))


 

Reply

Marsh Posté le 12-08-2009 à 12:09:12    

waou !!! ça boost
Un grand MERCI pour le code, je comprend mieux comme se fait une jointure.
Est-ce que l'ordre des tables est important ? (ici j'ai inversé images et user)
INNER JOIN tags ON tags.id_img=images.id_img

Reply

Marsh Posté le 13-08-2009 à 18:35:23    

Bin non. Si a=b, alors b=a.
 
Et tu peux aussi changer l'ordre les tables jointes.
 
Par contre tu ne peux pas faire de rotation entre tables jointes et la table après le FROM.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed