Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
29.11.2001, 14:08
|
|||
|---|---|---|---|
|
|||
Тормозят выборки из таблиц |
|||
|
#18+
Всем привет. Вопрос такой: На MS SQL 7.0 есть достаточно большая таблица (около 3.000.000 записей), в которую постоянно добавляются/обновляются/удаляются данные и постоянно гоняются запросы как по индексированным, так и по неиндексированным полям. Через некоторое время запросы начинают немерянно тормозить. Я решаю эту проблему тем, что удаляю все индексы и отстраиваю их по новой. Типа drop index ... и CREATE INDEX.. Может есть какой более умный способ? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.11.2001, 14:22
|
|||
|---|---|---|---|
Тормозят выборки из таблиц |
|||
|
#18+
"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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.11.2001, 18:57
|
|||
|---|---|---|---|
Тормозят выборки из таблиц |
|||
|
#18+
1. Необходимо периодически обновлять статистики индексов 2. Необходимо периодически перекомпилировать view, UDF и SP (см. sp_recompile), чтобы планы выполнения запросов перестроились под новые условия их выполнения (обычно эта процедура делается с меньшей периодичностью, чем первая). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.11.2001, 11:13
|
|||
|---|---|---|---|
|
|||
Тормозят выборки из таблиц |
|||
|
#18+
Большое спасибо за ответы. А можно ли настроить автоматическое огбновление статистики в таблицах, вроде где-то я это видел, только сейчас не могу найти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.11.2001, 15:58
|
|||
|---|---|---|---|
Тормозят выборки из таблиц |
|||
|
#18+
Вообще-то, обновление статистик и перекомпиляция скриптов не единственные задачи, которые нужно периодически выполнять. Не менее существенной задачей (скорее даже, более существенной) является выполнение резервного копирования. Самые основные задачи можно выполнить в Enterprice Manager в разделе Managment - Database Maintance plan - Create New Maintance plan. В плане обслуживания БД кроме названных задач можно настроить еще периодический контроль целостности структуры БД, перестройку индексов (для поддержания заданной степени заполнения страниц индекса). А кроме задач, предусмотренных планом обслуживания БД на практике могут возникать еще и другие... В частности, перекомпиляция скриптов в плане обслуживания не предусмотрена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.11.2001, 16:02
|
|||
|---|---|---|---|
Тормозят выборки из таблиц |
|||
|
#18+
(Продолжение). Перекомпиляция скриптов происходит автоматически при каждом рестарте SQL-сервера. Однако, рестарт - не всегда лучший выход, особенно если БД загружена круглосуточно. Я предпочитаю использовать самопальную хранимую процедуру, которая пробегается по всему содержимому таблицы SysObjects и прогоняет sp_recompile по всему, по чему только может прогнать. Процедура запускается с помощью JOB-а, который нужно уже настраивать ручками, а не через план обслуживания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1824765]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 318ms |

| 0 / 0 |
