【发布时间】:2017-04-02 07:47:35
【问题描述】:
问题
假设我在包含 varbinary(max) 列的表上创建索引视图,二进制内容是否会物理复制到索引视图的 B 树中,或者原始字段是否会以某种方式“引用”,而不会物理复制它们内容?
换句话说,如果我在包含 BLOB 的表上创建索引视图,是否会复制 BLOB 所需的存储空间?
更多详情
当对二进制数据使用全文索引时,例如varbinary(max),我们需要一个额外的“过滤器类型”列来指定如何从二进制数据中提取文本以便对其进行索引,如下所示:
CREATE FULLTEXT INDEX ON <table or indexed view> (
<data column> TYPE COLUMN <type column>
)
...
在我的特殊情况下,这些字段位于不同的表中,我正在尝试使用索引视图将它们连接在一起,以便它们可以在全文索引中使用。
当然,我可以将类型字段复制到 BLOB 表中并手动维护它(使其与原始表保持同步),但我想知道我是否可以让 DBMS 自动为我做这件事,这样会更好 除非在存储方面要付出高昂的代价。
此外,将这两个表合并为一个本身会产生负面影响,此处不再赘述...
【问题讨论】:
-
很可能是副本,因为 blob 可能是计算值。
标签: sql-server blob indexed-view