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

WRInaute discret
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:
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
 
WRInaute discret
Je ne pense pas, voici la construction des tables parce que je ne suis pas sûr :

Code:
`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
 
WRInaute discret
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) ?
 
WRInaute discret
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 ;)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut