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

Sybase Discussion :

[ASE]update stats


Sujet :

Sybase

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 21
    Points : 16
    Points
    16
    Par défaut [ASE]update stats
    Hello
    Des différents possibilité pour mettre à jour les statistiques, est-ce qu'il y a un intérêt à ne pas utiliser systématiquement la plus complète : update all statistics ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Oui, des raisons de perf. Le update all statistiques va faire un histogramme pour toutes les colonnes, ce qui est fort coûteux en terme de ressouces.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Oui je suis d'accord mais si on a les ressources est-ce que l'update all ne garantit pas de meilleurs choix de la part de l'optimiseur ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Oui, il garantit les statistics les plus fournies.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 21
    Points : 16
    Points
    16
    Par défaut Profondeur de stats
    ok mais
    dans le cas où j'ai une appli qui utilise beaucoup de requêtes dynamiques (pas de proc), le update all va avoir tendance à générer plus de combinaisons de plans et donc ralentir l'exécution globale des requêtes.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    C'est en effet possible. Comme souvent dans notre métier il est difficile de donner une réponse catégorique - il y a trop souvent des élements spécifiques au site qui détermine la meilleurs solution.

    Personellement je standardise sur "update index statistics", et (en 12.5.x en tout cas), je positionne les paramètres 'histogram tuning factor' à 10, et 'number of histogram steps' à 50. Ces paramètres permettent à Sybase de génèrer un nombre variables de "step" pour les histogrammes (entre 50 et 500 steps, en fonction de la structure des données.)

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  7. #7
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Personnellement, je suis ~ mpeppler.

    Jamais de update all car excessif...
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    OK pour ne pas mettre un update all par défaut.
    Dans un cas, l'optimiseur n'arrive pas à choisir le bon plan, dbcc tracecon(3604,302,310) pour s'en assurer.
    Plutôt que de faire un update all (sur 1 table de 15millions de ligne), je vais voir en utilisant les plans abstraits pour résoudre ce problème.

    Et puis l'update all, en générant plus de statistiques, va offrir à l'optimiseur beaucoup plus de choix pour sélectionner le meilleur plan d'exécution. Comme l'application utilise beaucoup de requêtes dynamiques, au final, cela ne m'apporterait plus d'inconvénient que d'avantage.

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Il faut aussi s'assurer que les stats sont bien à jour, et peut-être changer le nombre de step pour l'histogramme.
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

Discussions similaires

  1. [ASE]crash update stat
    Par Oraman dans le forum Adaptive Server Enterprise
    Réponses: 12
    Dernier message: 15/02/2008, 13h27
  2. reorg rebuild et update stat ?
    Par arona dans le forum Sybase
    Réponses: 2
    Dernier message: 31/01/2007, 11h28
  3. [ASE] Update en mode deferred
    Par metheorn dans le forum Sybase
    Réponses: 4
    Dernier message: 25/04/2006, 15h43
  4. [ASE][T-SQL] Optimisation d'un update
    Par metheorn dans le forum Sybase
    Réponses: 2
    Dernier message: 06/03/2006, 13h12
  5. [ASE] Les locks avec un cursor for update
    Par PiyuXYZ dans le forum Sybase
    Réponses: 1
    Dernier message: 11/02/2006, 13h17

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