Весит сервер после замены индекса на Descending

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Dedal
Сообщения: 26
Зарегистрирован: 11 янв 2006, 13:35

Весит сервер после замены индекса на Descending

Сообщение Dedal » 24 май 2006, 09:35

FB 1.5.2 SS, Win XP Proffesional, P 4 (2.4) , 512 MБ
База 1,7 Гига
Самая большая таблица более 500 МБ и 5 000 000 записей,
есть поле MDATE : DATE и индекс на это поле со статистикой - 0.0153846. В этом поле хранитса начало месяца.
Посколько пользователи почти все время работают в последнем (текущем) месяце я решыл что лучше индекс зделать DESCENDING (3 года он был Ascending).
После такой операции на некоторых сложных скриптах теперь процесор грузитса на 100% , при этом не используетса оперативная память и почти не используетса жорсткий диск.
Поменял назад и все заработало.

Может кто скажет что я зделал не так или где собака зарыта ??

Dedal
Сообщения: 26
Зарегистрирован: 11 янв 2006, 13:35

Сообщение Dedal » 24 май 2006, 09:54

И еще, при снятии задачи на клиенте сервер продолжает весеть.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 24 май 2006, 10:28

Может кто скажет что я зделал не так
Ты начал изменять структуру базы без предварительного анализа. Ну и наменял в худшую сторону.

Dedal
Сообщения: 26
Зарегистрирован: 11 янв 2006, 13:35

Сообщение Dedal » 24 май 2006, 11:38

За три года работы с базой я выучил ее так что анализировать то нечего.

Меня интерисует что именно есть причиной такого поведения сервера?? Почему индекс, который, должен был ускорить работу, так как используютса почти всегда только самые большые значения даты, наоборот вешает намертво сервер?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 24 май 2006, 12:12

у тебя запросы, которые использовали старый индекс, перестали использовать новый.
идея про "самые большие значения" - выглядит очень наивно, если не понимать, как и когда сервер использует asc и desc индексы.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 24 май 2006, 12:28

в данном случае DESC-индекс никак не мог бы ускорить выполнение запросов

Dedal
Сообщения: 26
Зарегистрирован: 11 янв 2006, 13:35

Сообщение Dedal » 24 май 2006, 13:13

Наверное я немного не так понял то что прочитал в книге.
Ок, всем спасибо за ответы.

Ответить