Précédent   Forum des professionnels en informatique > Bases de données > Sybase
Sybase Forum sur la base de données Sybase. Avant de poster -> F.A.Q Sybase, Tutoriels Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/03/2007, 16h00   #1
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 1
Points : 1
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
lenitoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 08h01   #2
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
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
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 11h12   #3
Invité de passage
 
Inscription : novembre 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 7
Points : 1
Points : 1
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
lenitoy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 12h07   #4
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 301
Détails du profil
Informations personnelles :
Âge : 52

Informations forums :
Inscription : janvier 2006
Messages : 1 301
Points : 1 505
Points : 1 505
Envoyer un message via AIM à mpeppler
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
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h02.


 
 
 
 
Partenaires

Hébergement Web