У меня есть следующая таблицаиндексированный Просмотр против индексов по таблице
EVENT_LOG
:
EVENT_ID: pk, int, not null
TYPEID: fk, int, not null
CATEGORYID: fk, int, null
SOURCE: varchar(255), null
DESCRIPTION: varchar(4000), null
CREATED: datetime, null
мы создавали отчет, и обнаружил, что производительность отстоя. Нет никаких индексов, кроме кластерного. Мы могли бы создать их, но поскольку эта таблица написана больше, чем читается, - есть проблема с оценкой производительности счетчика. Для отчетности я склонен помещать индексы в каждый столбец, потому что для столбцов описания источника & необходимо найти подстроки.
Мы задавались вопросом, является ли вариант indexed view (материализованный вид AKA), в котором индексированный вид будет содержать все столбцы из таблицы EVENT_LOG
, но с соответствующими индексами, созданными на представлении. Поможет ли нам получить отчетность, не влияя на запись в таблицу EVENT_LOG
?
Я думаю, вам будет лучше с копией производственной таблицы для целей отчетности, что-то вроде реплицированной копии, которую вы заполняете изменениями от ежедневных операций, говорят один раз в сутки, а затем вы можете имеют на нем количество индексов, чтобы ускорить отчетность. –
Вы также можете улучшить производительность поиска подстроки, индексируя столбцы текста в обратном порядке. – Matthew