2010-01-25 4 views
1

Il y a du type de données xml dans Postgres, je ne l'ai jamais utilisé auparavant, donc j'aimerais entendre des opinions. Inconvénients et upsides vs utilisation de la colonne varchar (ou texte) pour stocker xml.Types de données PostgreSQL 8.3: xml vs varchar

Le texte que je vais stocker est xml, bien formé, UTF-8. Pas besoin de chercher par elle (I've read la recherche par xml est lente).

Ce code XML est en fait des données préparées pour la génération de PDF avec Apache FOP. XML peut être généré dynamiquement à partir de données trouvées ailleurs (d'autres tables Postgres), il est stocké tel quel pour que je n'ai pas besoin de le générer deux fois. Kinda backup # 2 pour les documents PDF déjà générés.

Autre chose à savoir? Bonnes pratiques, performance, maintenance, etc?

Répondre

2

XML diffère de TEXT que logiquement: d'abord, l'entrée est vérifiée pour la validité, d'autre part, l'indice des opérateurs de comparaison de manque de type XML afin que vous puissiez pas, comparer, utiliser dans UNION ou DISTINCT etc.

Si vous êtes ne va pas chercher contre lui en utilisant des index et que vous voulez faire une vérification supplémentaire pour la validité, puis utilisez XML en toute sécurité.

+1

Notez que vous pouvez contourner le manque d'opérateurs de comparaison en convertissant le texte en 'texte', par ex. 'Crée un index unique sur la barre de foo (cast (xmlcol comme texte))'. –

+1

'@Alex Brasetvik': ... ou simplement stocker la colonne en tant que' TEXT' et la convertir en 'XML' à des fins' XML'. – Quassnoi

0

Je n'ai pas comparé les performances, mais une bonne chose avec l'utilisation du type XML est que vous obtiendrez le serveur pour vous assurer que le XML est bien formé. Peut-être plus tard, vous aurez l'utilisation pour l'un des nombreux XML-functions disponibles.

Questions connexes