Sous-requête et recherche boolean - SQL/NoSQL - Programmation
Marsh Posté le 05-08-2009 à 23:08:53
Code :
|
Ceci dit, je vois pas pourquoi tu tiens tant à une sous requête... Contrairement à ce que tu dis, une jointure est largement plus performante qu'une sous-req
Marsh Posté le 05-08-2009 à 23:29:17
Merci pour le code, ça fonctionne.
En tout cas ça fonctionne énormément mieux que ma jointure:
SELECT * FROM $table_images, $table_category WHERE (MATCH ($table_images.keywords) AGAINST (\"$sk_search\" IN BOOLEAN MODE)) AND $table_category.st_cat=0
Peut-être mal formulé.
Il faut bien s'améliorer.
Marsh Posté le 05-08-2009 à 23:51:22
Oh my god, qu'est ce que c'est que cette jointure ?
Et si tu essayais une vraie jointure ?
Code :
|
Marsh Posté le 06-08-2009 à 10:21:02
ben il avait pas fait de jointure, il se retrouvait donc avec un produit cartésien des 2 tables
Marsh Posté le 06-08-2009 à 10:26:33
Ah mais oui, j'avais pas vu qu'il avait pas mis de WHERE pour faire sa jointure
Tu m'étonnes que ça rame
Marsh Posté le 06-08-2009 à 17:04:44
oui, c'est juste, il me semblait que qqchose clochait.
en effet, on multiplie mes 150000 images par mes 1000 catégories, oups.
mais il y a tout de même un WHERE, ce qui me donnait le bon résultat.
merci pour le code, je vais donc modifier mes requêtes.
Marsh Posté le 05-08-2009 à 22:10:05
Salut à tous,
Je tente désespérément de faire un requête et sous-requête.
J'ai 2 tables: category (champs id_cat et status) et images (champs id_img, id_cat et keywords).
J'aimerais obtenir une liste d'images ayant un mot clé et étant dans la catégorie avec status=0
Sans aucun problème avec une jointure, mais je n'arrive pas à le faire avec des sous requêtes, par souci de performance.
Merci de votre aide.