Менее дорогая альтернатива индексированным представлениям?

Мне нравится идея материализованных (я полагаю, это термин Oracle) или индексированных (термин Microsoft) представлений для всех преимуществ производительности, перечисленных в этой статье TechNet, и мне не нравится их стоимость, связанная с поддержанием индекса, которое должно происходить при обновлениях (также упоминается в статье).

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

Конечно, проблема с новой статической таблицей заключается в том, что она полностью отключена от исходных таблиц. Данные в моей табличной переменной "@ActiveCustomers", для целей моего конкретного отчета, не обязательно должны быть "точными", они просто должны быть "несколько часов назад точными".

Есть ли какое-то промежуточное решение - например, индексированное представление, которое получает только те индексы, которые поддерживаются в запланированный интервал, которым я управляю?

1 ответ

Решение

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

И я думаю, что лучший термин не является текущим. Данные могут быть старыми, но они должны быть точными.

Другие вопросы по тегам