2008-10-08 7 views
1

В некоторых областях моего приложения мне нужны данные из нескольких таблиц в базе данных (у меня есть приложение, приложение имеет много атрибутов, каждый атрибут имеет несколько определений, и каждое определение имеет ценность). Мне нужны данные из всех этих таблиц для приложения. Должен ли я использовать представление (которое было бы довольно большим) или подзапросы для выбора записей? В случае подзапросов оптимизатор может работать эффективно? Мне также интересно, будет ли кэширование работать для подзапросов.Представления против встроенных подзапросов SQL Server 2005/2008

ответ

2

Представления обычно расширяются в подзапросы, если вы явно не помечены представлениями, которые сохраняются, отбрасывая на них кластерный индекс.

1

Это вопрос «Это зависит». Представление может помочь сделать код более удобным для обслуживания, но сложные предикаты выбора могут смутить оптимизатора.

Другой вариант - хранимая процедура, которая возвращает набор записей. Если вы повторно используете подзапрос несколько раз, вы можете получить некоторый пробег от разделения запроса, выбрав подзапрос во временную таблицу и объединив части на более позднем этапе.

Без более конкретного описания проблемы трудно дать реальный ответ.

 Смежные вопросы

  • Нет связанных вопросов^_^