Précédent   Forum du club des développeurs et IT Pro > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/04/2011, 17h43   #1
A Cherry Tells
Invité de passage
 
Inscription : octobre 2009
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 17
Points : 2
Points : 2
Par défaut [ASE 11.9] Comment benchmarker une table ?

Bonjour,

Je vous explique ma problématique de DBA qui découvre.
Sur un serveur sybase donné (sous 11.9), j'obtiens un rapport quotidien de volumétrie de mes bases et tables. Concernant mes tables, j'ai un top des grosses tables avec le % d'espace non utilisé.

Sur les tables avec un gros % d'espace non utilisé, je voudrais lancer une défragmentation soit par reorg rebuild soit par un drop/create index selon si la table est en lock datarow ou allpages suivi ensuite d'un update statistics et exec sp_recompile.

Pourriez-vous dans un premier temps me confirmer que j'agis correctement ?

Ensuite le truc c'est que je voudrais lancer avant et après défragmentation une requête benchmark sur la table afin de voir les effets de temps de réponse obtenus.
Je ponds donc une requête consommatrice :
Code :
1
2
3
4
5
6
7
8
9
10
declare @date varchar(255)
SELECT @date = convert(varchar,getdate(),108)
print @date
 
SELECT     col1, col2, col3, max(col4)
FROM TABALE
GROUP BY col1, col2, col3
 
SELECT @date = convert(varchar,getdate(),108)
print @date

Le problème c'est que si je lance deux fois de suite la requête, la seconde fois ça ira méga vite car elle a été mise en cache.
Comment puis-je vider de façon probante le cache pour répéter les mêmes temps d'attente (sachant que je ne puis redémarrer le serveur ou alors le week-end mais vous comprendrez que je ne suis pas tenté) ?
Ceci afin qu'après une défragmentation la différence de temps provienne uniquement de cette défragmentation ?

Par ailleurs si vous voulez créer une requête benchmark sur une table uniquement, quelle serait votre requête ? Tester un group by est-ce un bon axe ?

Je vous remercie de votre aide.
A Cherry Tells est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 19h07   #2
dbaprod
Invité régulier
 
Inscription : mars 2009
Messages : 10
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : mars 2009
Messages : 10
Points : 7
Points : 7
peut être lancer le select avec une stratégie MRU quoique je ne sais pas si c'est supporté sur 11.9....
dbaprod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2011, 14h54   #3
kagemaru
Membre Expert
 
Inscription : juin 2007
Messages : 1 056
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 056
Points : 1 082
Points : 1 082
Salut

Il faudrait plus d'info pour mieux comprendre ton problème :

Est-ce que tu peux poster :

la structure de la table et les index (sp_help table)
le résultat de sp_spaceused table

et l'exécution de la requete avec les options suivantes activées :

Code :
1
2
SET showplan ON
SET statistics io,time ON
merci
__________________
Emmanuel T.
kagemaru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 18h27   #4
A Cherry Tells
Invité de passage
 
Inscription : octobre 2009
Messages : 17
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 17
Points : 2
Points : 2
En fait j'ai trouvé une solution toute simple. deux bases même structure sur même serveur.
A Cherry Tells est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h18.


 
 
 
 
Partenaires

Hébergement Web