Quelle est la meilleure colonne pour stocker XML dans une base de données Oracle?
Question
Je cherche la meilleure façon de stocker XMLs dans une base de données Oracle. À l'heure actuelle, nous utilisons une colonne de type BLOB, mais je pousse pour déplacer cette colonne à une XMLType ou une colonne à base de schéma XMLType. Je viens de trouver cet article XML: Pour CLOB ou objet d'Oracle et lu, mais je ne l'ai pas encore pris mon esprit.
a donc tout le monde a connu cette même question avant? Aussi l'idée est que le XML sera récupéré complètement dans un client Flash via un serveur Red5, donc ce que je cherche ici est le meilleur débit. D'après ce que je vois dans les données qu'ils fournissent des charges CLOB plus rapidement dans la base de données, mais la base XMLSchema est plus rapide pour la récupération.
Merci, Joaquín.
La solution
Travailler avec des objets dans Oracle implique plusieurs changements de contexte de SQL/PLSQL
qui peuvent affecter les performances.
Si vous ne faites rien avec XML
sur le côté Oracle, puis continuer en tant que LOBs
.
"Excellente performance DML" listé il y a, um, une surestimation (lorsque l'on parle de mettre / récupération XML
non transformé, i. E. Le flux d'octets)
En fait, si votre serveur traitera moins de requêtes 10
par seconde, vous remarquerez à peine la moindre différence.
Autres conseils
Si vous allez sélectionner ou mettre à jour quelques parties du XML que l'objet de stockage relationnel est le chemin à parcourir. Les seuls inconvénients est que depuis le xml est déchiqueté en interne, des espaces blancs et la mise en forme est supprimé, mais que le document indique qu'il est conforme encore DOM.
Si vous allez utiliser la base de données en tant que stockage uniquement et toutes les manipulations XML qui va se passer du côté client aller avec l'option de stockage LOB.
Si vous utilisez 11g, il a maintenant un XMLIndex qui améliore grandement les performances lors de la mise à jour / sélection de champs XMLType stockés avec option LOB.