indiquer plusieurs id dans une requête SQL, est ce propre ?

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

kinteba
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 113
Inscription: Sam Mai 20, 2006 14:35

indiquer plusieurs id dans une requête SQL, est ce propre ?

Message le Dim Juil 23, 2006 11:28

Bonjour,

j'ai un pti doute sur la propreté d'une requête et j'aurais besoin de vos lumières svp, je m'explique :

Lors d'une recherche dans la base, j'execute une requête SELECT et dedans j'ai AND id NOT IN ('$membre') pour éviter que le membre se voit dans le résultat (inutile).
Je souhaite ajouter un filtre (pour filtrer des liens) dans le résultat de recherche, que dois je faire ? ajouter un autre AND id_liens NOT IN ('$filtre') ce qui donne :

Code: Tout sélectionner
PHPAND id NOT IN ('$membre') AND id_liens NOT IN ('$filtre')


Le truc qui me semble pas propre c'est au niveau ('$filtre') car il y'aura tout plein d'id retournés, voir peut être une cinquantaine si le membre filtre 50 liens à ne pas afficher

Ca ne risque pas de me saturer Mysql tout en sachant que ma requête est déjà assé longue et que cette requête sera executée sur toutes les pages d'un site à fort trafic ?

Merci d'avance pour vos avis

Zim'
WRInaute passionné
WRInaute passionné
 
Messages: 804
Inscription: Jeu Avr 27, 2006 2:08

Message le Dim Juil 23, 2006 14:21

Est ce que id et id_liens sont des champs indexés?

kinteba
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 113
Inscription: Sam Mai 20, 2006 14:35

Message le Lun Juil 24, 2006 15:33

Zim' a écrit:Est ce que id et id_liens sont des champs indexés?

Que veux-tu dire par "champs indexés" stp ?


Xou
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 187
Inscription: Ven Juin 02, 2006 16:52

Message le Lun Juil 24, 2006 15:51

Ont-ils un index ?

kinteba
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 113
Inscription: Sam Mai 20, 2006 14:35

Message le Lun Juil 24, 2006 16:28

Je ne pense pas, voici la construction des tables parce que je ne suis pas sûr :

Code: Tout sélectionner
`id` mediumint(8) unsigned NOT NULL auto_increment,
`id_liens` mediumint(8) unsigned NOT NULL default '0',

PRIMARY KEY  (`id`),
UNIQUE KEY `id_liens` (`id_liens`,`membre`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;


Merci

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Lun Juil 24, 2006 17:12

...
Dernière édition par spidetra le Ven Aoû 04, 2006 13:12, édité 1 fois.

kinteba
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 113
Inscription: Sam Mai 20, 2006 14:35

Message le Lun Juil 24, 2006 18:15

ok merci :)
Tu peux aussi ajouter un index sur la colonne id_liens.

il n'y est pas là ?

Poste la structure complète de tes 2 ou 3 tables, ainsi que la requête SQL complète. Ce sera plus simple pour t'aider.

Pour essayer de t'aider Zim', Xou et les wrinautes sont un peu obligé de jouer les Madame Irma :)


lol désolé si j'ai pas été clair :lol:
Ca sera inutile que je poste mon code complet car ma question est juste si il y'a un risque de saturation de Mysql si j'envoi plusieurs ID (une centaine) dans le NOT IN (pour le champ id_liens) ?

spidetra
WRInaute accro
WRInaute accro
 
Messages: 1500
Inscription: Lun Juil 07, 2003 13:06

Message le Lun Juil 24, 2006 19:44

...
Dernière édition par spidetra le Ven Aoû 04, 2006 13:12, édité 1 fois.

kinteba
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 113
Inscription: Sam Mai 20, 2006 14:35

Message le Mer Juil 26, 2006 0:09

En effet j'ai remplacé par != pour $membre

Merci pour tes précisions, pour répondre à Madame Irma ^^ c'était juste pour un SELECT dans le champ d'une seule table, ma préoccupation c'est le fait d'executer plusieurs dizaines d'ID dans le champ Id_liens avec ma variable $filtre.

En faisant mes recherches je vois un peu partout qu'avec le NOT IN qu'on peut ignorer plusieurs ID sans emballer Mysql. Donc c'est tout bon mon problème est réglé, merci ;)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité