XML 列的 SQL Server 行为

标签 sql sql-server xml sql-server-2008 sql-server-2005

我对 XML 列有一些疑问:

  1. 当我们选择一个 XML 列并且想要从其 xml 包含中获取一些值(使用 XPath)并执行一些操作时,SQL Server 是否读取第一行并从中获取 xml 文档硬盘到RAM并执行操作并下一步获取下一行等等?

  2. 如果我们想将 xml 列的全部内容放入 RAM,我们可以做什么?

谢谢

最佳答案

这涉及 SQL Server 内部结构 - SQL Server 不会将单个值读入 RAM,而是将 8k 页读入内存,这就是数据在磁盘(和内存)上的结构。您的数据存储在其中一个或多个页面上。 (我保持简化)

如果您想了解 SQL 的幕后工作原理,我会推荐《Kalen Delaney - SQL Server Internals》一书。

关于XML 列的 SQL Server 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898777/

相关文章:

sql-server - 舍入时间为 5 分钟最接近的 SQL Server

sql-server - 如何减少 MS SQL 数据库的日志文件大小

php - 如何从 SQL View 中进行 SELECT? (一般错误: 1615 Prepared statement needs to be re-prepared)

mysql - 表的 2 列和相同查询的联合快捷方式?

sql - 什么是sql server中的 'where 1=1'和 'where null=null'

java - 为什么 JAXB 需要一个无参数构造函数来编码?

javascript - 遍历Javascript dom,细节作为属性

xml - <xsd :all> and <xsd:sequence> in schema definition? 之间的区别

SQLite 使用循环重新编号 ID

mysql - RESTRICT 和 NO ACTION 有什么区别?