Назад | Перейти на главную страницу

Сервер mysql зависает при вставках в таблицу InnoDB

CREATE TABLE IF NOT EXISTS `music_batch_song` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `music_batch_id` bigint(20) DEFAULT NULL,
  `song_id` bigint(20) DEFAULT NULL,
  `comment` varchar(10) DEFAULT NULL,
  `position` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `music_batch_song_idx` (`music_batch_id`,`song_id`),
  KEY `song_fk` (`song_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=142506 ;

У меня есть эта таблица, которая насчитывает около 90 тыс. Записей в базе данных mysql на amazon aws. Вчера после пары часов очень медленных простых вставок (их сотни) db перестал отвечать на вставки через PHP PDO. После перезапуска сервера mysql он снова работал. Вы хоть представляете, как это может случиться? Когда возникла проблема, сервер был почти неактивен. И единственный запрос на вставку PDO с одной строкой не смог достичь конца. Вставка была примерно такой: «INSERT INTO music_batch_song (music_batch_id, song_id) VALUES (188, 32866)». После перезагрузки сервера запрос, как обычно, занял доли секунды ...

Выкопайте журналы mysql. Скорее всего, он покажет тупик или другую ошибку InnoDB. Постарайтесь с этим справиться.