我对 XML 列有一些疑问:
当我们选择一个 XML 列并且想要从其 xml 包含中获取一些值(使用
XPath
)并执行一些操作时,SQL Server 是否读取第一行并从中获取 xml 文档硬盘到RAM并执行操作并下一步获取下一行等等?如果我们想将 xml 列的全部内容放入 RAM,我们可以做什么?
谢谢
最佳答案
这涉及 SQL Server 内部结构 - SQL Server 不会将单个值读入 RAM,而是将 8k 页读入内存,这就是数据在磁盘(和内存)上的结构。您的数据存储在其中一个或多个页面上。 (我保持简化)
如果您想了解 SQL 的幕后工作原理,我会推荐《Kalen Delaney - SQL Server Internals》一书。
关于XML 列的 SQL Server 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8898777/