Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3022 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  optimisation de statistique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

optimisation de statistique

n°1526019
casimimir
Posté le 08-03-2007 à 19:07:24  profilanswer
 

Bonjour,
dans le cadre d'un datawarehouse nous avons quelques tables de plus de 50 millions de records, qui ont +/- 25 foreign key vers des tables de dimension.
la recolte de statistiques se fait avec dbms_gather_stats, cascade, true et la on commence a avoisiner les 1h pour generer les statistiques pour une table.
 
la db est en oracle 9.2
 
je debarque la dedans et pour le moment je ne m'etais pas interessé aux stats mais la le gather stats complet met une petite dizaine d'heure et fout le server sur les rotules, avez vous des techniques particulieres pour optimiser le traitements ou eds recommandations de base?
 
 
d'avance merci pour vos réponses

mood
Publicité
Posté le 08-03-2007 à 19:07:24  profilanswer
 

n°1526121
couak
Posté le 09-03-2007 à 08:04:58  profilanswer
 

alors plusieurs choses :
- à quelle fréquence les stats sont calculés ? si c'est tous les soirs, effectivement c'est emmerdant
- de quelle manière ? si c'est pour toutes les tables d'un schéma d'un coup, c'est également emmerdant
 
quelques idées malgré le peu d'infos qu'on a :
- calculer uniquement les stats des tables qui ont eu beaucoup de mouvement, par exemple l'option "gather stale" permet de calculer uniquement les tables qui ont eues plus de 10% de modifications
- tu peux jouer avec la taille d'échantillonage
- un truc fou si tu as l'environnement qu'il faut : tu calcules les stats sur une autre machine qui possèdent les mêmes données, tu exportes tes stats et tu les importes en prod
Je sais c'est foireux, mais j'aime bien les trucs foireux

n°1526163
casimimir
Posté le 09-03-2007 à 09:50:51  profilanswer
 

1) dans le cadre de la facturation c'est mensuel. en soit ca ne semble pas très génant mais j'ai tout mon etl+stats+générer les cubes et le total me porte a + de 24 heures et évidemment on a tendance a pousser au cul pour savoir quand ce sera fini etc...
 
2) au niveau des mouvements je rajoute mensuellement 500000 records sur ma table de 50millions. pour le moment je préfere avoir les stats le plus au top possible vu que cela doit tourner au quart de tour tout le reste du mois.
 
qu'en penses tu?

n°1526191
couak
Posté le 09-03-2007 à 10:14:24  profilanswer
 

1) facturation mensuelle => calcul de stats des tables impactées, pas besoin de faire une récolte complète
dans les grosses bases, pour chaque table, on sait quand est ce que c'est pertinent et peu impactant pour lancer une récolte de stats
 
2) réduis l'échantillonage, tu as une option dans oracle 9i (auto_sample de mémoire) pour qu'il décide de lui-même l'échantillonage

n°1526413
orafrance
Posté le 09-03-2007 à 14:20:52  profilanswer
 

attention, selon la version l'auto_sample n'est pas forcément conseillé (pas avant la 9.2.0.6 de mémoire)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  optimisation de statistique

 

Sujets relatifs
Optimisation douteuse pour hypot()Optimisation C++/Sql
Tween - probleme et optimisationoptimisation des requetes SQL
Optimisation PHP/Apache[Oracle ASM] Problème d'optimisation de requête suite à migration
Optimisation de code et délai d'exécutionpressé : récuperer une statistique sur une page html
[Oracle] Optimisation d'une requête de mise à jourGraphique - Statistique
Plus de sujets relatifs à : optimisation de statistique


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)