迁移到PostgreSQL“XML”数据类型
问题描述:
我有数据库(psql的8.3),目前包括“XML”的斑点作为数据库内text
类型。现在,我已经通过了这些blob中的每一个,创建了一个数据应该遵守的模式,并确保数据库中的当前Blob针对该模式进行验证。现在,我的问题是:
text
的类型更改为xml
,我会遇到什么大的问题?谢谢!
答
这取决于您如何使用该XML数据。
如果您始终从数据库中将它们作为单个值检索并在应用程序中执行所有XML处理(例如XSLT或提取信息),我会坚持使用text
数据类型。
如果您使用PostgreSQL xml函数定期查询XML并需要索引这些查询,那么使用xmltype
列可能会更好。
答
这是这里解释:http://www.postgresql.org/docs/8.3/static/datatype-xml.html
及其对存储在文本字段中的XML数据的优势在于,它会检查良构的输入值,并有支持功能来执行数据类型操作它。
所以我会说你应该使用它。
你知道PostgreSQL 8.3提供的自动索引吗?目前,我们大部分的使用只是从数据库中检索并在应用程序中使用它。但有时我们需要执行复杂的Xpath查询。所以用Xpath自动索引到SQL查询将足以说服我改变。谢谢。 – 2011-01-20 23:12:45