Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Отчего могут обрушиться индексы?


Автор: MuToGeN 12.1.2004, 13:09
Обрушились сами по себе. Таблица где-то на 3.5 миллиона рядов, есть поле INT(20), по нему - единственный на эту таблицу индекс.
Раздел не был передолнен.
MySQL v3.23.52, Linux Mandrake 9.0

Автор: Vit 13.1.2004, 03:25
Частое явление даже на более серьёзных серверах... Индексы наиболее частоменяемая часть - перезаписываются во много потоков, запись кэшируется... Одно неосторожное движение и пошло... Хорошо при себе иметь всегда какой-нибудь рабочий скриптик для пересоздания индексов, а так же очень полезно раз в неделю пересоздавать индексы с целью профилактики. Дело в том что индекс может "портится" постепенно, когда вроде бы всё работает, но квери идут всё долше и дольше...

Автор: Secandr 13.1.2004, 09:48
Vit А можно по подробнее, не хотелось бы в один момент потерять все данные sad.gif
Что за скрипт для пересоздания индексов?

Автор: MuToGeN 13.1.2004, 11:42
Да оно только с одного потока добавляется. Ежеминутно. Только INSERTы. SELECT на эту таблицу делается раз в месяц, для отчетов.

Автор: IZ@TOP 13.1.2004, 13:59
Vit, а что такое
Цитата
квери
? И можно поподробнее как это индексы портятся ?

PS Теперь понятно зачем в 1С такая обработка есть smile.gif

Автор: MuToGeN 13.1.2004, 15:28
квери = query = запрос

Автор: IZ@TOP 13.1.2004, 15:56
MuToGeN, а как этоconfused.gif Почему и от чегоconfused.gif

Автор: MuToGeN 13.1.2004, 16:28
Что именно?

Автор: Vit 13.1.2004, 16:39
Код
Vit А можно по подробнее, не хотелось бы в один момент потерять все данные


При порче индексов никакие данные не пропадают

Код
Что за скрипт для пересоздания индексов?


Drop Index...
Create Index...

Автор: MuToGeN 13.1.2004, 17:22
В MySQL существует так же внешняя утилита для восстановления и построения индексов (по крайней мере, для MyISAM).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)