У меня есть таблица (SQL 2000) с более чем 10 000 000 записей. Записи добавляются со скоростью около 80 000-100 000 в неделю. Раз в неделю из данных генерируется несколько отчетов. Отчеты, как правило, довольно медленны для запуска, потому что существует несколько индексов (вероятно, для ускорения INSERT). Один новый отчет действительно может извлечь выгоду из дополнительного индекса для конкретного столбца «char (3)».Индексы SQL Server не помогают
Я добавил индекс с помощью Enterprise Manager (Manage Indexes -> New -> select column, OK) и даже перестроил индексы в таблице, но запрос SELECT вообще не ускорился. Есть идеи?
Update:
определение Таблица:
ID, int, PK
Source, char(3) <--- column I want indexed
...
About 20 different varchar fields
...
CreatedDate, datetime
Status, tinyint
ExternalID, uniqueidentifier
Мой тестовый запрос просто:
select top 10000 [field list] where Source = 'abc'
Для ответа на этот вопрос требуется определение таблицы и строка запроса. Ошибка может быть полностью в другом месте. – Tomalak 2008-12-11 21:10:19
Также опубликуйте результаты EXPLAIN – 2008-12-11 21:13:05
Сколько различных значений находится в Source, по сравнению с количеством строк таблицы? Является ли индекс CLUSTERED или нет? – Tomalak 2008-12-11 21:22:02