Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Обслуживание БД и блокировки MySQL (Антон) 20/01/2009 - 17:27:32



From: Антон - 20/01/2009 - 17:27:32
Subject:Обслуживание БД и блокировки MySQL
-----------------
Добрый день!

Имеется несколько вопросов, связанных с обслуживанием баз данных в mysql.

Есть программа (netams), которая ежесекундно сбрасывает в базу инфу. Останавливать его работу нельзя, ну или крайне нежелательно. Инфы достаточно много. В месяц база вырастает примерно на 5 гигов. Раз в полгода необходимо производить чистку базы, то есть удалять записи, старше чем предыдущие 6 месяцев.

Есть вопросы.

1. После удаления записей, таблицы, разумеется, фрагментированы. В таких случаях рекомендуется выполнять OPTIMIZE TABLE, но во время выполнения OPTIMIZE TABLE таблицы блокируются. Сама полная процедура очистки БД примерно в 25 гиг занимает достаточно долгое время, где-то 5 часов.
Правильно ли я понимаю, что когда будет выполняться OPTIMIZE TABLE, программа ничего никуда не сможет записать, то есть все данные просто пропадут?
Насколька безопасна эта процедура?

Вообще, во время выполнения DELETУ данные, грубо говоря, не удаляются, а только помечаются на удаление. То есть на это место будут записываться другие данные, если я правильно понимаю. Так может OPTIMIZE не нужен вообще в этом случае?

2. Бэкап базы производится помимо репликации ещё средствами mysqldump с ключём --opt.
Как следует из документации к mysql, mysqldump лочит таблицу оператором READ LOCAL, то есть в этом случае можно записывать данные в конец таблицы. Однако это работает в том случае, если системная переменная mysql concurrent_insert=1 и таблица нефрагментирована.

Если по первому пункту OPTIMIZE TABLE делать нельзя или отказаться от него, можно ли выставить concurrent_insert=2, чтобы данные при выполнении mysqldump могли писаться в конец таблицы даже при наличчи фрагментации? Чем это может быть чревато?

Тип таблицы: MyISAM
Типы полей: int, bigint, smallint, enum, varchar

Спасибо!


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
34883



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |