Nous avons une géodatabase arcsde versionnée (arcgis 9.3.1 sur oracle 10g) avec un modèle de données assez complexe qui comprend environ 100 classes de fonctions et tables non spatiales, un réseau géométrique et de nombreuses classes de relations.
Les données sont éditées quotidiennement par 5 ou 6 utilisateurs arcmap utilisant le versioning sde. De plus, les versions sont créées par des services automatiques qui s'interfacent avec d'autres systèmes d'entreprise pour effectuer des modifications dans la géodatabase. Les performances des requêtes dégénèrent sensiblement au cours de la journée, nous avons donc implémenté un script nocturne pour obtenir une compression complète. Parfois, lorsqu'un nombre relativement important de modifications est effectué, le système peut devenir inutilisable jusqu'à une compression complète.
Il a été suggéré qu'Oracle, tel qu'il était configuré, ne pouvait pas proposer de plans d'exécution décents lorsqu'il était confronté à ces tables delta volatiles. Est-ce une explication raisonnable? Quelle approche faut-il adopter pour le résoudre?
Mise à jour en réponse aux commentaires
- À la fin de la journée, l'arbre d'état est très linéaire, avec seulement une petite ramification.
- Nous compressons tous les soirs (obtenez une compression complète en supprimant toutes les versions).
- Les tableaux d'entreprise sont analysés régulièrement.
- Les tableaux Delta ne sont pas analysés. Ils sont verrouillés (Tentative d'analyse renvoie l'erreur "Les statistiques des objets ORA-20005 sont verrouillées"). Les tables volatiles du schéma sde non plus - STATES, STATE_LINEAGES.