Статические индексы SQL Server - PullRequest
0 голосов
/ 18 ноября 2009

Можно ли создавать в SQL Server 2005 некластеризованные индексы, которые не обновляются при изменении данных (вставка / удаление / обновление), поэтому я могу обеспечить стабильный набор данных для отчета?

Наши данные часто меняются, и я хочу иметь возможность снимать их в какой-то момент, не имея столбца для отображения даты / времени последнего изменения и выбирая только данные, основанные на этом. Прежде чем приступить к анализу, я мог бы обновить их и использовать их с этого момента.

Ответы [ 2 ]

2 голосов
/ 18 ноября 2009

Не думаю, что вы можете сказать, что индекс остается устаревшим. Отдельная таблица отчетности будет более подходящим решением.

Например, вы можете загрузить снимок в новую таблицу отчетов, например:

truncate table BigTableSnapshot

select *
from BigTable
into BigTableSnapshot

Кроме того, SQL Server Enterprise Edition позволяет создавать снимков всей базы данных. Это может быть очень полезно для создания отчетов, хотя и оказывает влияние на производительность.

1 голос
/ 18 ноября 2009

Если у вас есть версия SQL2005 для предприятия, вы можете сделать снимок всей базы данных, предоставляя вам статическую копию базы данных только для чтения / времени для отчета.

http://msdn.microsoft.com/en-us/library/ms175158.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...