MYSQL - recherche par tableau ? ca existe

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par Zecat, 11 Mai 2011.

  1. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    A ma droite $tab qui contient 4 elements (ou plus) :

    aaa
    bbbb
    ccccc
    ddddd

    a) et je veux rechercher les 4 fiches correspondantes. Il y a une syntaxe specifique "SELECT BY ARRAY" ou c'ets à moi de fabriquer le requete avec des OR ?

    b) Question subsidiaire : aaa bbbb cccc ddddd sont en fait des clefs uniques indexées dans la table : vaut il mieux (à priori) une requete avec des OR ou 4 requete unitaires ? (dans le cas ou pas de réponse positive au point a ...)

    edit : a priori j'ai trouve cela :

    Code:
    <?php
    mysql_query("SELECT col FROM une_table WHERE col IN ('".implode("','", array_map('mysql_real_escape_string', $tableau))."')");
    
    // Pour des nombres:
    mysql_query("SELECT col FROM une_table WHERE col IN (".implode(',', array_map('intval', $tableau)).")");
    Coté perf ca donne quoi ?
     
  2. Amauri
    Amauri WRInaute occasionnel
    Inscrit:
    7 Avril 2011
    Messages:
    314
    J'aime reçus:
    0
    Le code va juste créer une requête pour sélectionner tous les champs correspond.

    Avec $foo = array('a','b','c');
    Le code va chercher toutes les lignes ou "col" est égal à un des éléments de $foo.
     
  3. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    avec les expressions régulières, tu peux aussi y arriver
    Code:
    SELECT col FROM une_table WHERE col REGEXP "^(aaa|bbbb|ccccc|ddddd)$";
     
  4. Zecat
    Zecat WRInaute accro
    Inscrit:
    1 Mars 2005
    Messages:
    9 119
    J'aime reçus:
    1
    Laquelle des deux méthodes est la plus performante à priori ? ou ets ce que ca se vaut : un implode = un regex ?
     
  5. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    en fait il faudra quand même faire le implode, la différence serait entre regexp et in.
    A voir le benchmark...
     
Chargement...
Similar Threads - MYSQL recherche tableau Forum Date
recherche lettres dans mysql Développement d'un site Web ou d'une appli mobile 11 Juillet 2019
Recherche mysql hors balise html Développement d'un site Web ou d'une appli mobile 10 Septembre 2013
Optimisation recherche sur grosse table mysql Développement d'un site Web ou d'une appli mobile 30 Mars 2013
[MySQL] rechercher une valeur dans un champ sérialisé Développement d'un site Web ou d'une appli mobile 10 Août 2011
Recherche complexe et performante dans une base mysql ? Développement d'un site Web ou d'une appli mobile 9 Juin 2011
PHP/Mysql: moteur de recherche interne Développement d'un site Web ou d'une appli mobile 16 Octobre 2009
[mysql] Recherche sensible à la case [resolu] Développement d'un site Web ou d'une appli mobile 11 Juin 2008
[Mysql] Recherche FULL-TEXT sur plusieurs tables Administration d'un site Web 19 Décembre 2007
Recherche convention de nommage / codage PHP et MySQL Développement d'un site Web ou d'une appli mobile 14 Décembre 2007
Recherche Hébergement efficace et abordable PHP MYSQL Développement d'un site Web ou d'une appli mobile 27 Septembre 2007
Rechercher/remplacer avec php+mySQL Développement d'un site Web ou d'une appli mobile 11 Juin 2007
mysql recherche les lettres d'un mot Développement d'un site Web ou d'une appli mobile 27 Avril 2007
Recherche astuce balises ancrage et php mysql Développement d'un site Web ou d'une appli mobile 25 Avril 2007
Recherche full-text Mysql et fautes d'orthographes Administration d'un site Web 24 Avril 2007
Problème d'accent dans les recherches MySQL Administration d'un site Web 16 Mars 2007
Moteur de recherche interne mysql Développement d'un site Web ou d'une appli mobile 16 Mai 2006
Recherche FULLTEXT en php - mysql Administration d'un site Web 17 Février 2006
recherche MySql à la google Administration d'un site Web 23 Décembre 2005
Moteur de recherches sur 3 tables mysql Développement d'un site Web ou d'une appli mobile 19 Décembre 2005
recherche script php maintenance table mysql Développement d'un site Web ou d'une appli mobile 10 Octobre 2005