|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Salmen Étudiant Inscription : octobre 2010 Messages : 59 ![]() |
Bonsoir ,
j'ai crée un ensemble d'index pour optimiser certaines requêtes . alors ma question : y a t'il un moyen pour déterminer la fréquence d'utilisation de ces index ?? La vue V$OBJECT_USAGE me permet seulement de savoir si l'index a été utilisé ou non Merci
|
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() DBA Oracle freelance Inscription : janvier 2005 Messages : 558 ![]() |
Bonjour,
la colonne tch de la requête suivante va t'indiquer le nombre de fois que le buffer est accédé. Code :
0 FREE no valid block image 1 XCUR a current mode block, exclusive to this instance 2 SCUR a current mode block, shared with other instances 3 CR a consistent read (stale) block image 4 READ buffer is reserved for a block being read from disk 5 MREC a block in media recovery mode 6 IREC a block in instance (crash) recovery mode Pour ma part, le comptage de l'usage de l'index est vue avec la classe 1. Mais je ne sais pas à quoi correspond la colonne DBABLK. Si quelqu'un a l'info. |
||
|
|
10
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Salmen Étudiant Inscription : octobre 2010 Messages : 59 ![]() |
Bonsoir ,
Je vous remercie infiniment pour votre collaboration , Votre requête fonctionne convenablement mais elle ne prend pas en considération le nombre de fois que mon index est utilisé avant l'exécution de votre requête . c-à-d le comptage commence par 1 |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Salmen Étudiant Inscription : octobre 2010 Messages : 59 ![]() |
lorsque je redémarre ma base de données , le compteur est mis à zero
|
|
|
00
|
|
|
#5 | ||
|
Membre actif
![]() Yong Huang Inscription : janvier 2010 Messages : 105 ![]() |
> La vue V$OBJECT_USAGE me permet seulement de savoir si l'index a été utilisé ou non
Vous pouvez vérifier fréquemment v$object_usage et désactivez, puis activer le index monitoring, et plus tard aller et vérifier de nouveau et désactiver et activer... pseudo code: Code :
|
||
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Salmen Étudiant Inscription : octobre 2010 Messages : 59 ![]() |
Merci
le but de la recherche fréquences d'utilisation des index est de comparer leurs utilités afin de supprimer les index les moins utilisés pour satisfaire une contrainte de stockage. y a t il d'autres solutions plus pratiques |
|
|
00
|
|
|
#7 | ||
|
Membre actif
![]() Yong Huang Inscription : janvier 2010 Messages : 105 ![]() |
> y a t il d'autres solutions plus pratiques ??
Code :
|
||
|
10
|
|
|
#8 | |||
|
Candidat au titre de Membre du Club
![]() Salmen Étudiant Inscription : octobre 2010 Messages : 59 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Yong Huang Inscription : janvier 2010 Messages : 105 ![]() |
> Merci votre requêtes fonctionne convenablement mais le même
> problème persiste encore : lorsque je redémarre ma base de > donnée le compteur est mis à zéro. Vous pouvez soit select exécutions_(total|delta) from dba_hist_sqlstat ... ou prendre des snapshots des données régulièrement par vous-même. |
|
00
|
|
|
#10 | ||||
|
Candidat au titre de Membre du Club
![]() Salmen Étudiant Inscription : octobre 2010 Messages : 59 ![]() |
j'ai testé cette requête :
Code :
Code :
mais lorsque j'utilise mon index "IJB" et je re-exécute cette requête rien ne change au niveau du résultat ?? Merci Mr Yong pour votre aide |
||||
|
|
00
|
|
|
#11 |
|
Membre actif
![]() Yong Huang Inscription : janvier 2010 Messages : 105 ![]() |
> peut être dois je faire un count(EXECUTIONS_TOTAL ) ??
Soit count() soit sum(). > mais lorsque j'utilise mon index "IJB" et je re-exécute cette requête > rien ne change au niveau du résultat ?? Vous pouvez attendre jusqu'à ce que le snapshot est prise, peut-être une heure. Pour une évaluation à long terme de index usage, vous regardez dba_hist_sqlstat. Pour une évaluation à court terme de index usage, vous regardez v$sql. |
|
10
|
|
|
#12 |
|
Candidat au titre de Membre du Club
![]() Salmen Étudiant Inscription : octobre 2010 Messages : 59 ![]() |
Bonjour Mr Yong ,
Je vous remercie infiniment pour votre collaboration , mais le résultat de la requête(dba_hist_sqlstat) n'a pas changé. je pense que je dois travailler avec la vue v$sql et créer un compteur manuellement . c-à-d je récupère la valeur de (select executions) à chaque arrêt de la base de donnée. qu'en pensez vous ? y a t'il d'autres solutions plus pratiques ?? Merci |
|
|
00
|
|
|
#13 |
|
Membre actif
![]() Yong Huang Inscription : janvier 2010 Messages : 105 ![]() |
> je récupère la valeur de (select executions) à chaque arrêt de la base de donnée.
Vous n'avez pas à select executions à chaque arrêt de la base de données. Vous pouvez juste faire périodiquement. > le résultat de la requête(dba_hist_sqlstat) n'a pas changé. Je ne sais pas pourquoi, sauf si vous avez modifié sampling interval (select * from dba_hist_wr_control). > y a t'il d'autres solutions plus pratiques ? Pour l'instant, je ne peux pas penser à quelque chose de mieux. |
|
10
|
|
|
#14 |
|
Membre éprouvé
![]() Administrateur de base de données Inscription : novembre 2007 Messages : 341 ![]() |
ça vaut peut-être le coup de requêter la table dba_hist_active_sess_history en repérant le object_id de l'index en question (CURRENT_OBJ# dans cette table)
|
|
|
00
|
|
|
#15 | |||
|
Candidat au titre de Membre du Club
![]() Salmen Étudiant Inscription : octobre 2010 Messages : 59 ![]() |
Citation:
Code :
Merci |
|||
|
|
00
|
|
|
#16 |
|
Membre éprouvé
![]() Administrateur de base de données Inscription : novembre 2007 Messages : 341 ![]() |
pas du tout, ta requête doit inclure le sql_id (pas de jointure avec v$sqlplan puisque tu connais déjà le numéro d'objet mais plutôt avec dba_hist_sqlstat), le snap_id...
mais à mon avis tu prends le problème à l'envers. si tu as construit des indexes pour optimiser "certaines" requêtes qui sont donc identifiées, pourquoi tu ne les exécutes pas toi-même en examinant le plan d'exécution et tu ajustes au besoin? d'autant qu'apparemment tu n'as pas eu peur que ces indexes dégradent d'autres requêtes... |
|
|
00
|
|
|
#17 |
|
Candidat au titre de Membre du Club
![]() Salmen Étudiant Inscription : octobre 2010 Messages : 59 ![]() |
Merci Mr Heaven ,
peut être j'ai pas bien expliqué le but de mon travail. Ça consiste à mettre en place une stratégie de sélection dynamique d 'index de jointure binaire. les fréquences d'utilisation des index représente l'un des paramètres d'entrés de mon modèles. Vos suggestions sont les bien venues |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com