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

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

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


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