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

Requêtes MySQL Discussion :

Temps d'execution d'une requete


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Temps d'execution d'une requete
    Bonjour,

    j'ai une requete toute simple du style
    SELECT * FROM ma_table where donnee1='donnee1' and donnee2 LIKE 'donnee2%'
    La premiere fois elle met 15s à s'executer et ensuite le temps diminue progressivement à chaque reexecution de la requete jusqu'à arriver à 2 dixieme de seconde.
    Le cache est désactivé
    quelqu'un a une idée ?
    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Les colonnes donnee1 et donnee2 sont indexées ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Qu'elles soient indexees ou pas ne change rien au probleme la premiere requete est tres longue
    Merci

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut Et avec EXPLAIN ?
    Peut-être que MySQL pourra "s'expliquer" en utilisant EXPLAIN.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Oui j'ai deja fait un explain et il utilise bien l'index que j'ai crée.
    Mais ce que j'aimerais c'est que ma requete ait le meme temps d'execution tout le temps merci

  6. #6
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Ça c'est malheureusement impossible.
    Dans l'absolu, tout dépend de la charge du serveur, de l'état de la base de données, du nombre de requêtes quasi simultanées soumises à un instant donné, etc, etc...
    Rien ne peut garantir, a priori, le temps exact d'exécution d'une requête.
    Les tables sont-elles de type MyISAM ou innoDB ?
    Ce choix n'est pas neutre en termes de performances.
    Peut-être que l'utilisation de LEFT(donnee2,7) = 'donnee2' au lieu du LIKE se montrerait plus performant, il faut essayer.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Je te remercie pour cette reponse
    Mes tables sont du type MyISAM.
    Par contre je fais mes tests sur un serveur où je suis le seul à bosser et il ne gere que MySQL donc niveau charge ca va ! Je n'ai pas
    Ce que je n'arrive pas à comprendre c'est pourquoi l'execution de ma requete s'accelere
    alors que le cache de requete est desactivé
    J'ai besoin que ma requete soit reactive à la 1ere execution et non au bout de 10!!
    Merci

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 9
    Points : 22
    Points
    22
    Par défaut
    bonsoir,

    tu fais ta requête une première fois puis un RESET QUERY CACHE puis tu refais ta requête...
    Je ne vois qu'une explication le cache...

    Entre la première et la seconde fois, la différence de temps est de quel ordre (de moitie, plus, moins) et les autres fois ?

    Matt...

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Etant donné que le cache est desactivé le RESET QUERY CACHE ne fait absolument rien
    la premiere requete met 16s ensuite c'est tres variable et au bout de 4 à 5 tentatives on arrive à 0.2s
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 09/02/2010, 20h08
  2. [MySQL] Temps d'execution d'une requete via phpMyAdmin ou PHP
    Par gcvoiron dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/10/2009, 23h08
  3. Réf : Mesurer le temps d 'execution d 'une requete
    Par akrabmehdi dans le forum SQL
    Réponses: 1
    Dernier message: 10/07/2007, 20h48
  4. temp d'execution d'une requete sql
    Par mitoubra dans le forum JDBC
    Réponses: 4
    Dernier message: 15/06/2007, 22h34
  5. [Stratégie] Mesurer le temps d'exécution d'une requête
    Par nice dans le forum Général Java
    Réponses: 5
    Dernier message: 29/01/2006, 17h53

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