IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[MySQL] Optimisation de requete SQL


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 141
    Points : 39
    Points
    39
    Par défaut [MySQL] Optimisation de requete SQL
    Bonjour

    Je pense que cette requete est optimisable ... de cette requete je recupere toute les donnée pour WHERE rubrique=6

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $requete=("SELECT * FROM image WHERE rubrique=6 ");
    $ret = mysql_query($requete);
    $nb_total=mysql_num_rows($ret);
     
    $minid=mysql_query("SELECT min(id) FROM image WHERE rubrique=6");
    $minid2=mysql_result($minid,0);
    $maxid=mysql_query("SELECT max(id) FROM image WHERE rubrique=6");
    $maxid2=mysql_result($maxid,0);
     
     
    echo "$minid2";
    echo "$maxid2";
    echo "$nb_total";
    Pour savoir si il y avais une requete "optimisé" qui permetai d'avoir les meme resutat ?(le min, maxi, nombre de resultat" et le SELECT *

    Merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Il est très lourd de sélectionner toutes les colonnes d'une table alors que bien souvent, on ne veut récupérer que certaines d'entre ellles.

    Par conséquent, je ne saurais que trop vous conseiller de réviser les colonnes que vous sélectionnez, quitte à le faire dynamiquement.

    A partir de là, vous devriez pouvoir récupérer par la même occasion, les identifiants minimum et maximum.

    PS : éviter le code PHP et indiquez votre SGBD et sa version.

  3. #3
    Membre habitué Avatar de petit arbre
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 153
    Points
    153
    Par défaut
    on doit pouvoir tout récupérer d'une seule requête, du genre :

    select count(*), min(id), max(id) from la_table where rubrique = 6

    ce qui évite plusieurs accès séquentiels à cette table.

    enfin, ça dépend sans doute du type de base.

Discussions similaires

  1. Optimisation de requetes SQL sous oracle
    Par santana2006 dans le forum Oracle
    Réponses: 5
    Dernier message: 28/08/2006, 19h26
  2. Réponses: 2
    Dernier message: 17/08/2006, 11h49
  3. Experts Mysql : Optimiser une requete sur codes postaux
    Par El Riiico dans le forum Requêtes
    Réponses: 6
    Dernier message: 20/01/2006, 18h00
  4. Optimisation de requete SQL
    Par dark_vidor dans le forum Requêtes
    Réponses: 12
    Dernier message: 15/01/2006, 20h40
  5. Optimiser une Requetes SQL sous ASP
    Par NeHuS dans le forum ASP
    Réponses: 8
    Dernier message: 18/04/2005, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo