最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
Sql server的xml.value中, XPath使用text()函数的重要性
时间:2022-06-29 07:54:41 编辑:袖梨 来源:一聚教程网
被多次问到,为什么在DBA的规范中,会要求在解析xml值时,value 方法的 XPath 中要加 text() 函数,看起来似乎加与不加得到的结果都是一样的。
下面的测试脚本说明使用 text() 的区别,以及为什么要求使用它。
DECLARE
    @xml xml
SET @xml = N’
b
    
’;
SELECT  @xml.value(‘(/a)[1]‘, ‘varchar(10)’);
SELECT @xml.value(‘(/a/text())[1]‘, ‘varchar(10)’);
SELECT @xml.value(‘(/b)[1]‘, ‘varchar(10)’);
SELECT @xml.value(‘(/b/text())[1]‘, ‘varchar(10)’);
执行这个脚本,从结果中,可以看出明显的区别
通过对比执行计划,可以看出两者的执行有明显的差别,效率也有明显的差异。不使用 text() 的情况下,需要额外的执行步骤用于检索子结点的数据(就算子结点,开销仍然存在)。
所以,如果不是有特殊目的,应该在 XPath 中指定 text() 函数实现精确定位,以此来降低性能开销。
相关文章
- 我的世界创造模式快捷栏怎么保存 mc物品栏管理技巧 11-04
 - 我的世界怎么重新加载区块 mc显示错误技巧解决方法 11-04
 - 我的世界超级敌对模式是什么 mc特殊事件机制说明 11-04
 - 快来当领主阿瑞斯强度怎么样 11-04
 - 命运圣契伊丽丝技能效果如何 11-04
 - 镭明闪击塔攻怎么玩 11-04
 
            
                                
                                
                                
                                
                                            
                                        
                                            
                                        
                                            
                                        
                                            
                                        
                                            
                                        
                                            
                                        
                                            
                                        
                                            
                                        
                                            
                                        
                                            
                                        

