首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle 11g XMLType体验

Oracle 11g XMLType体验
EN

Stack Overflow用户
提问于 2013-10-19 03:23:10
回答 2查看 693关注 0票数 2

1哈罗社区,

我们目前正在评估存储通用数据结构的可能性。我们发现,至少从功能的角度来看,Oracle XMLType是旧的BLOB的一个很好的替代品。因为您可以查询和更新xml中的单个字段,还可以在XPath表达式上创建索引。

我们有点担心XMLType的性能。尤其是“有趣”中的精选表演。我们有一次选择多个数据结构的查询。这些都需要很快。

这样的查询如下所示

SELECT DOC_VALUE.getClobval() AS XML_VALUE FROM XML_TABLE WHERE d.ID = IN ('1','2',...);

我们的XML文档的大小是7到8 KB。我们在Oracle 11g上创建了类型为'XMLTYPE‘的XML列

您有在xml类型列上执行selects的经验吗?您对XMLTYPE有什么总体经验?这是一项健壮而快速的Oracle功能吗?或者它是不成熟的和实验性的东西。

问候你,马蒂亚斯

EN

回答 2

Stack Overflow用户

发布于 2013-10-20 06:56:41

XMLDB是我们从9i开始就有的一个强大而可靠的特性。

灵活模式的XMLType列是在隐藏的XMLType列上实现的,而固定模式的CLOB列则被分解为隐藏的表和视图;毕竟,XMLType与标准对象一样可靠。

性能会因您的使用而有所不同,但是在XMLType上读取整个XML比在传统的CLOB上读取要快,因为实际上它只是读取并按原样提供存储在CLOB上的XML代码。

票数 0
EN

Stack Overflow用户

发布于 2017-08-05 15:18:17

您可以将XDB.XMLIndex分配给XMLType,之后性能将会很好。我们有一个只有13,000条记录的表,每个记录都包含一个不太大的XML Clob,如果打印在文本上,可能每个记录都有40页,并且在没有XMLIndex的情况下运行简单的查询通常需要10分钟以上,而运行更复杂的查询通常需要2到3倍的时间!

使用XMLIndex时,性能与典型的表相当(全表扫描时的性能大约为毫秒级)。XMLIndex可以像您需要的那样复杂,我尝试了这个简单的索引类型,它工作得很好:(我之所以说它是简单的,是因为我不完全理解这个索引类型的内部工作原理!)

代码语言:javascript
运行
复制
CREATE INDEX myschema.my_idx_name ON myschema.mytable
(SYS_MAKEXML(0,"SYS_SOMETHING$"))
INDEXTYPE IS XDB.XMLINDEX
NOPARALLEL;

您应该了解您可以使用的各种XMLIndex选项,并根据您的需要进行选择。文档:https://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb_indexing.htm#CHDJECDA

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19457536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档