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

PHP & Base de données Discussion :

Optimisation requète MYSQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut Optimisation requète MYSQL
    Bonsoir à tous,

    Ma requète fonctionne, mais elle est très, très, très lente !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <?PHP
    // Connexion à la base de données
    $sql = mysql_connect('sql7','bonbon','azerty')or die("Impossible de se connecter : " . mysql_error());
    mysql_select_db('bonbon?toto3',$sql) or die('Could not select database.');
    $Resultat = mysql_query('SELECT che, date, hipo, temps_g FROM recup_t ORDER BY che, date DESC');
     
    echo "<CENTER>";
    echo '<p align="center"><u><b><font size="5" color="#003300">Liste des Chevaux</font></b></u></p>';
    echo '<div class="aff1" style="height:300px; width:520px; overflow:auto; font-family: Times New Roman; font-size: 10px;">';
    echo '</CENTER>';
    echo '<table border="3" bordercolor="#003300" style="border-collapse:collapse; font-family:Times New Roman; font-size:10px;">';
    while ($row=mysql_fetch_array($Resultat)) 
    	{
    	 echo "<tr>";
    	 echo "<td>".trim($row['che'])."</td>";
     	 echo "<td>".changedateusfr($row['date'])."</td>";
     	 echo "<td>".$row['hipo']."</td>";
     	 echo "<td>".$row['temps_g']."</td>";
    	 echo "</tr>";
    	}
    echo '</table>';
    echo '</div>';
    ?>
    Cette requète affiche le nom des chevaux ayant participé a une course pendant 1 an classé alphabétiquement
    + la date décroissante
    + l'hipodromme
    + son chrono

    La base comporte environ 30.000 lignes, sachant que le mème cheval ne courre pas forcément toutes les courses

    La requète prends environ 80 secondes pour s'afficher.

    Ma demande, c'est d'optimiser au maximum le temps de réponse.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 814
    Billets dans le blog
    14
    Par défaut
    Ta requête :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT che, date, hipo, temps_g 
    FROM recup_t 
    ORDER BY che, date DESC

    Je crois comprendre à cette requête que tu n'as qu'une table qui stocke le nom du cheval et le nom de l'hippodrome autant de fois qu'ils apparaissent ?

    A moins que recup_t soit une vue, ta base de données n'est pas structurée correctement !

    Les colonnes che et date sont-elles indexées pour optimiser les performances ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [MySQL] Optimisation requête SELECT
    Par GyZmoO dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/10/2009, 17h24
  2. optimisation requête mysql
    Par ionesco dans le forum Requêtes
    Réponses: 1
    Dernier message: 08/10/2009, 12h14
  3. [MySQL] Optimisation requête, affichage lent
    Par Yann39 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/10/2008, 11h23
  4. [MySQL] Optimisation de requêtes MySql
    Par oclone dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/07/2008, 11h20
  5. Optimiser une requête mysql
    Par Raideman dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/09/2007, 21h18

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