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

SQL Procédural MySQL Discussion :

Performances : ANALYSE TABLE, quelle fréquence ?


Sujet :

SQL Procédural MySQL

  1. #1
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut Performances : ANALYSE TABLE, quelle fréquence ?
    Bonjour,

    Citation Envoyé par La doc MySQL
    If the table has not changed since the last ANALYZE TABLE statement, the table is not analyzed again.
    Je voudrais savoir en quoi on considère qu'une table change : son schéma ou ses données ?

    Est ce que je dois mettre un ANALYZE TABLE sur toutes mes tables dans un cron à minuit tout les jours ? tout les mois ? moins souvent ?
    Ou seulement au changement du schéma de la table ?

    Merci d'avance.

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Toujours pas d'idée les experts ?
    Je suis maudit, sur les forums mysql us, forums mysql fr ou ici, pas de réponses

    Sinon une petite question subsidiaire : est-il possible de lancer un analyse sur toute la base ??? (afin d'éviter de faire 200 fois l'analyse, ...)
    EDIT: Je viens de trouver réponse à ma question subsidiaire dans un dcommentaire de la doc officielle :
    Use mysqlcheck -Aa -uroot -p to run analyze table for all databases and tables (including InnoDB) on a running server. Available in MySQL 3.23.38 and later.

  3. #3
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    Tout dépend de la quantité d'INSERT et DELETE réalisés quotidiennement. Si elle est faible (et donc que la structure des index change peu) ça ne servira pas à grand chose de faire un ANALYZE tous les jours...

    cf http://forums.mysql.com/read.php?97,32651,32675#msg-32675

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Super, merci de ta réponse et du lien. En fait je ne sais absolument pas à quel fréquence les update vont se faire. Des jours il n'y aura pas d'update, alors que certains autres jours il y en aura une centaine voir des milliers...
    L'idéal pour moi serait d'avoir un mécanisme (soit fourni par MySQL --j'ai le droit de rêver non-- soit ecris par mes soins) qui permettrait de faire (semi-) automatiquement ce ANALYZE : soit le ANALYZE ce fait tout seul, soit un script previent l'administrateur qu'il doit cliquer sur le bouton...

    Ca existe ce genre de mécanisme ?

  5. #5
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Pas à ma connaissance

    Ou sinon tu fais ton analyze toutes les nuits mais selon le nombre d'indexes et la taille de la base ça peut peut-être charger le serveur en plus de locker les tables analysées (à voir, je n'ai jamais essayé avec une très grosse base...)

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

Discussions similaires

  1. Réponses: 92
    Dernier message: 13/10/2015, 18h26
  2. (Performance) Deux tables ou une seule?
    Par Norin dans le forum Access
    Réponses: 26
    Dernier message: 24/06/2006, 20h43
  3. Réponses: 2
    Dernier message: 23/02/2006, 12h23
  4. Réponses: 3
    Dernier message: 21/10/2005, 14h56
  5. [Conception][performance] mysql table de 10000 enregistrements / hashmap
    Par debdev dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/07/2005, 11h29

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