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 :

Cache et requete


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 129
    Points : 44
    Points
    44
    Par défaut Cache et requete
    Bonjour,

    J'ai une requete assez énorme ...
    J'ai constaté que la 1ere fois quand j'execute cette requete, elle met environ 5 sec, ensuite les fois suivantes moins de 0.1 sec ...
    C'est bien le systeme de cache de MySQL ? (J'ai configuré un bete serveur MySQL sur mon poste .... Je n'ai même pas vu l'option )

    Comment dire à MySql d'executer la requete sans cache ?

  2. #2
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 129
    Points : 44
    Points
    44
    Par défaut
    Bon je viens de vérifier sur ma base
    query_cache_size = 0

    Donc n'est pas actif ...

    Quelqu'un peut m'expliquer ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Si query_cache_size = 0, alors rien ne de peut être mis en cache !
    Il te faut modifier cela pour que le cache puisse faire son boulot !

    Une fois modifié, executes quelques SELECT pour effectuer des mises en cache.

    Ensuite exectue cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SHOW STATUS LIKE 'qc%'
    Tu pourras voir que tu as des requêtes en cache !

    Pour plus d'infos, il y a une explication sur cette page : Etude pratique du cache de requêtes MYSQL

    a+

  4. #4
    Membre régulier
    Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2003
    Messages : 94
    Points : 116
    Points
    116
    Par défaut
    Bonjour,

    MYSQL gère un cache de requête pour lequel il définit un certain nombre de variables dont le nom commence par query_cache_...
    A une chaîne SQL de recherche, MYSQL associe un jeu de résultats.
    Quand une nouvelle requête est soumise, MYSQL compare ce nouvel ordre SQL à la chaîne de caractère stockée en mémoire, la comparaison s'effectue de façon trivial au caractère près.

    Et comme tout SGBD, MYSQL définit d'autres caches repérables par les commandes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    show variables like '%pool%'
    show variables like '%buf%'
    Le cache de données sur MYSQL évite de lire les données sur disques tant que ces données restent en mémoire et donne des accès beaucoup + rapide.

    Cdlt

    Selecta

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

Discussions similaires

  1. forcer la mise en cache de 2 sous-requetes
    Par ashtur dans le forum Oracle
    Réponses: 9
    Dernier message: 27/06/2007, 18h00
  2. [PDO] Nombre de requetes en cache et temps d'execution
    Par cerede2000 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 20/05/2007, 20h15
  3. Réponses: 2
    Dernier message: 11/08/2006, 11h27
  4. [Design] Requete SQL ou Caching XML ?
    Par brousaille dans le forum ASP.NET
    Réponses: 4
    Dernier message: 05/04/2006, 16h10
  5. [Query Cache] lister les requetes cachés
    Par mauvais_karma dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/08/2005, 18h56

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