Страница 1 из 1

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

Добавлено: 24 май 2006, 09:35
Dedal
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% , при этом не используетса оперативная память и почти не используетса жорсткий диск.
Поменял назад и все заработало.

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

Добавлено: 24 май 2006, 09:54
Dedal
И еще, при снятии задачи на клиенте сервер продолжает весеть.

Добавлено: 24 май 2006, 10:28
Dimitry Sibiryakov
Может кто скажет что я зделал не так
Ты начал изменять структуру базы без предварительного анализа. Ну и наменял в худшую сторону.

Добавлено: 24 май 2006, 11:38
Dedal
За три года работы с базой я выучил ее так что анализировать то нечего.

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

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

Добавлено: 24 май 2006, 12:28
dimitr
в данном случае DESC-индекс никак не мог бы ускорить выполнение запросов

Добавлено: 24 май 2006, 13:13
Dedal
Наверное я немного не так понял то что прочитал в книге.
Ок, всем спасибо за ответы.