Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тормозят выборки из таблиц / 6 сообщений из 6, страница 1 из 1
29.11.2001, 14:08
    #32018115
AlexR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят выборки из таблиц
Всем привет.
Вопрос такой:
На MS SQL 7.0 есть достаточно большая таблица (около 3.000.000 записей),
в которую постоянно добавляются/обновляются/удаляются данные и постоянно гоняются запросы
как по индексированным, так и по неиндексированным полям.
Через некоторое время запросы начинают немерянно тормозить. Я решаю эту проблему тем, что удаляю
все индексы и отстраиваю их по новой. Типа drop index ... и CREATE INDEX..

Может есть какой более умный способ?

Заранее спасибо.
...
Рейтинг: 0 / 0
29.11.2001, 14:22
    #32018116
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят выборки из таблиц
"SQL Server allows statistical information regarding the distribution of values in a column to be created. This statistical information can be used by the query processor to determine the optimal strategy for evaluating a query. When you create an index, SQL Server automatically stores statistical information regarding the distribution of values in the indexed column(s).

As the data in a column changes, index and column statistics can become out-of-date and cause the query optimizer to make less-than-optimal decisions on how to process a query. For example, if you create a table with an indexed column and 1,000 rows of data, all with unique values in the indexed column, the query optimizer considers the indexed column a good way to collect the data for a query. If you update the data in the column so there are many duplicated values, the column is no longer an ideal candidate for use in a query. However, the query optimizer still considers it to be a good candidate based on the index's outdated distribution statistics, which are based on the data before the update."

UPDATE STATISTICS
sp_updatestats
...
Рейтинг: 0 / 0
29.11.2001, 18:57
    #32018151
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят выборки из таблиц
1. Необходимо периодически обновлять статистики индексов
2. Необходимо периодически перекомпилировать view, UDF и SP (см. sp_recompile), чтобы планы выполнения запросов перестроились под новые условия их выполнения (обычно эта процедура делается с меньшей периодичностью, чем первая).
...
Рейтинг: 0 / 0
30.11.2001, 11:13
    #32018207
AlexR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят выборки из таблиц
Большое спасибо за ответы.
А можно ли настроить автоматическое огбновление статистики в таблицах,
вроде где-то я это видел, только сейчас не могу найти.
...
Рейтинг: 0 / 0
30.11.2001, 15:58
    #32018232
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят выборки из таблиц
Вообще-то, обновление статистик и перекомпиляция скриптов не единственные задачи, которые нужно периодически выполнять. Не менее существенной задачей (скорее даже, более существенной) является выполнение резервного копирования. Самые основные задачи можно выполнить в Enterprice Manager в разделе Managment - Database Maintance plan - Create New Maintance plan.
В плане обслуживания БД кроме названных задач можно настроить еще периодический контроль целостности структуры БД, перестройку индексов (для поддержания заданной степени заполнения страниц индекса).
А кроме задач, предусмотренных планом обслуживания БД на практике могут возникать еще и другие... В частности, перекомпиляция скриптов в плане обслуживания не предусмотрена.
...
Рейтинг: 0 / 0
30.11.2001, 16:02
    #32018235
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормозят выборки из таблиц
(Продолжение). Перекомпиляция скриптов происходит автоматически при каждом рестарте SQL-сервера. Однако, рестарт - не всегда лучший выход, особенно если БД загружена круглосуточно. Я предпочитаю использовать самопальную хранимую процедуру, которая пробегается по всему содержимому таблицы SysObjects и прогоняет sp_recompile по всему, по чему только может прогнать. Процедура запускается с помощью JOB-а, который нужно уже настраивать ручками, а не через план обслуживания.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Тормозят выборки из таблиц / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]