добавление индекса в большую mysql-таблицу

  • Автор темы Автор темы andyjam
  • Дата начала Дата начала

andyjam

Новичок
добавление индекса в большую mysql-таблицу

имеется таблица с данными, размер - около 400 метров, 3 миллиона записей.
необходимо добавить к ней индекс, по одному из полей.
интересует насколько опасна данная операция в плане "торможения" сервера, падения производительности и/или других возможных глюков..
сервер - пень 4, со скази-драйвами.
почему беспокоюсь, - на моей машине (селерон 1 Ггц) добавление этого индекса длилось довольно долго и вся система весьма ощутимо тормозила...
 
Смотря как часто у тебя происходят инсерты в эту таблицу, судя по количеству записей - давольно часто. А при каждом апдейте таблицы апдейтится и индекс, так что снижение производительности вполне реально.
 
Originally posted by Demiurg
Смотря как часто у тебя происходят инсерты в эту таблицу, судя по количеству записей - давольно часто. А при каждом апдейте таблицы апдейтится и индекс, так что снижение производительности вполне реально.
ага, уже более понятно.
таблица "статическая". к ней только select'ы делаются..
тогда не очень страшно?? :)
 
Demiurg
его интересует сам процесс создания нового индекса, насколько я понял.
а не влияние индекса на производительность.

andyjam
глюков быть не должно, но занять может достаточно длительное время.
длительное - от 10-ти мин. до нескольких часов.
все зависит от свободных ресурсов сервера, поля, которое индексируется и т.п.
мой прогноз: минут 15-25.
 
если только select, то не страшно. а если индексное поле будет участвовать в условии where, то это даже ускорит запросы такого вида.
 
tony2001
я тоже так сначала подумал, но по фразе " добавление этого индекса длилось довольно долго ... " мне показалось, что индекс собственно уже добавлен.
 
ok, спасибо.

интересно, а если я залогинюсь с серверу через ssh, подконнекчусь к mysql, дам запрос на добавление индекса и свалю или меня вырубит из нета во время этого процесса..
чем это грозит?
 
ask
Пока индекс не создастца полностю выборки не ускорятся.

Сервер скорее всего достаточно сильно затормозится на несколько минут, поэтому лучше такое делать когда нагрузка на сервер минимальна (например ночью). Многое зависит от того какая вообще нагрузка на сервер.

Даже если соединение с базой оборвется, запрос все равно будет работать, пока не создаст индекс.
 
всем сенкс, сенкс..
буду пробвать ночью..

Demiurg добавлен в локальную версию, на моем домашнем компе..

-~{}~ 02.03.04 18:19:

а насчет нагрузки.. он, зараза, иногда, в час пик выдает - too many mysql connections :(
 
Сверху