Мы создали индексированное представление с помощью такого sql:
Select Table1_ID, Count_BIG(*) as Table2TotalCount from Table2 inner join
Table1 inner join... where...
Также после создания представления мы устанавливаем кластеризованный уникальный индекс для столбца Table1_ID.
Итак, View состоит из двух столбцов:
Table1_ID
Table2TotalCount
У нас есть два вопроса:
- Если мы используем
Count(1)
или Count_BIG(1)
вместо Count_BIG(*)
, SQL не позволяет нам устанавливать индекс для Table1_ID
- Как мы можем контролировать тип второго столбца (
Table2TotalCount
) - SQL дает
long nullable введите этот столбец. Но мы хотим установить для этого столбца тип int, не обнуляемый . После создания просмотра мы не можем найти способ изменить тип столбца.
Также t-sql, который мы используем для создания представления, всегда возвращает значения int в Table2TotalCount .