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 :

Conseil ou avis sur la gestion des statistics


Sujet :

Sybase

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Conseil ou avis sur la gestion des statistics
    Bonjour,

    En fait, je voulais connaitre le meilleur moyen de gérer les statistics et votre avis sur la meilleur facon de faire, entre l'utilisation d'un procédure stockée ou par script ksh.

    PAR SCRIPTS: (la base est passée en paramètre au lancement du script)

    isql -Usa -P${SYB_PWD} -S${DSQUERY} -D${BASE} -o${LOGS_DIR}/StatBase_${STATDATE}.log << EOF
    set nocount on
    go
    declare @name varchar(20)
    select name into #tabletmp from sysobjects where type='U'
    select @name=name from #tabletmp
    while (select count(*) from #tabletmp) != 0
    begin
    execute ("update statistics " + @name)
    print @name
    execute ("update index statistics " + @name)
    execute ("sp_recompile " + @name)
    delete #tabletmp where name=@name
    select @name=name from #tabletmp
    end
    go
    drop table #tabletmp
    go
    exit
    EOF

    OU PAR PROCEDURE STOCKEE: (procedure créer sur chacunes des bases)

    DECLARE @spid varchar(30)
    DECLARE @Sql varchar(50)

    DECLARE Decon CURSOR FOR
    SELECT name FROM sysobjects WHERE type='U' ORDER BY name

    OPEN Decon
    FETCH Decon INTO @spid

    WHILE @@sqlstatus <> 2
    BEGIN
    SELECT @Sql="update statistics "+@spid
    PRINT @Sql
    EXECUTE (@Sql)
    SELECT @Sql="update index statistics "+@spid
    EXECUTE (@Sql)
    SELECT @Sql="sp_recompile "+@spid
    EXECUTE (@Sql)
    FETCH Decon INTO @spid
    END

    CLOSE Decon
    DEALLOCATE CURSOR Decon


    merci d'avance
    Anthony

  2. #2
    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
    L'utilisation d'un script ou d'une proc stockée est pour moi un peu blanc bonnet/bonnet blanc... Le résultat est le même.

    Par contre, il est totalement superflu d'exécuter "update statistics" ET "update index statistics", puisque la première forme est un sous-ensemble de la deuxième.

    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

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour
    Effectivement, la question peu sembler superflu, en fait elle portait plus sur la facon dont sybase fonctionne et notamment au niveau des performances liées a l'emploi de l'un au l'autre des solutions. (utilisation des curseurs!!!)

    Oui merci effectivement le update statistics analyse la première colonne de l'index et l' update index statistics analyse toutes les colonnes de l'index.

    Merci
    Anthony

  4. #4
    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
    L'utilisation ou non d'un curseur dans ce cas n'est pas significative, puisqu'on va chercher un nombre relativement limité de tables, et que l'update statistique de chaque table prends du temps et pas mal de ressources...

    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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/06/2014, 14h50
  2. [2.x] Petit conseil sur la gestion des Entity
    Par grinder59 dans le forum Symfony
    Réponses: 4
    Dernier message: 26/03/2014, 10h25
  3. Réponses: 2
    Dernier message: 31/10/2012, 16h48
  4. Réponses: 0
    Dernier message: 16/01/2012, 23h40
  5. Conseils sur la gestions des erreurs en Java
    Par Clorish dans le forum Général Java
    Réponses: 8
    Dernier message: 26/03/2008, 16h03

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