Прежде всего, если ваш взгляд ограничивает использование предложения WHERE, вы, вероятно, можете понести штраф за производительность, по крайней мере, из-за невозможности использовать хороший индекс на ваших 10 столбцах, если он столкнется с собственным используемым индексом вида.
Если вид просто ограничивает столбцы, но не имеет условие WHERE, то неизвестно - подробности ниже:
Основываясь на this article, я выводя, что вы будете страдать наказание, так как вид не обязательно будет скомпилированный с использованием ваших 10 столбцов, и вы можете наследовать плохой план запроса.
Это очень легко проверить:
Выполнить запрос
select * from myView where someNonIndexedColumn = someValue
(убедитесь, что столбец в выражении WHERE НЕ в любом из индексов на исходной таблице).
Запустите запрос выше с планом запроса и убедитесь, что он выполняет сканирование таблицы.
Теперь выберите пару столбцов, которые ARE указаны в индексе на исходной таблице, например. убедитесь, что запрос на них должен использовать индекс покрытия. Скажем, C1 и C2 в индексе I1.
Run
select C1, C2 from myTable where C1=x and C2=Y
с планом запроса и убедитесь, что он использует «I1» индекс, охватывающий индекс.
Run
select C1, C2 from myView where C1=x and C2=Y
с планом запроса и проверить, будет ли это сделать сканирование таблицы или I1 в качестве индекса накрытия.
Мои подозрения в том, что он будет делать сканирование таблицы, в этом случае вы ответ «Extr 190 колонки Bad Thing Для Performance» - в основном, все негативы в связанной статье Райан Fonnett применимы к вашему мнению ,
Если (маловероятно), он использует индекс покрытия в # 5, то тот факт, что thew имеет 190 columsn, не имеет значения.
Мне не ясно, если * procs * вы говорите о хранимых процедурах или программе на стороне клиента. –
Они хранятся на сервере, вызванном приложением asp.net. – GernBlandston
Вы должны профилировать как с видом, так и без него, но я бы не стал беспокоиться об этом. По сути, SQL Server расширяет представление, когда вы вызываете его из хранимой процедуры. Я уверен, что оптимизатор достаточно умен, чтобы понять, какие столбцы действительно нужны. –