Вопрос
Предполагая, что я создаю индексированное представление для таблицы, содержащей столбец varbinary(max)
, будет ли двоичный контент физически скопирован в B-дерево индексированного представления или исходные поля будут просто каким-то образом "ссылаться" без физического дублирования их содержимого?
Другими словами, если я создам индексированное представление для таблицы, содержащей большие двоичные объекты, будет ли это дублировать хранилище, необходимое для больших двоичных объектов?
Подробнее
При использовании полнотекстового индекса для двоичных данных, таких как varbinary(max)
, нам нужен дополнительный столбец «тип фильтра», чтобы указать, как извлекать текст из этих двоичных данных, чтобы его можно было индексировать, примерно так:
CREATE FULLTEXT INDEX ON <table or indexed view> (
<data column> TYPE COLUMN <type column>
)
...
В моем конкретном случае эти поля находятся в разных таблицах, и я пытаюсь использовать индексированное представление, чтобы объединить их вместе, чтобы их можно было использовать в полнотекстовом индексе.
Конечно, я мог бы скопировать поле типа в таблицу BLOB и поддерживать его вручную (сохраняя синхронизацию с оригиналом), но мне интересно, могу ли я заставить СУБД делать это автоматически, что было бы предпочтительнее, если только за хранение приходится платить высокую цену.
Кроме того, объединение этих двух таблиц в одну само по себе имело бы негативные последствия, если не вдаваться в подробности...