SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 23.09.2013 22:45:44

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Мертвая таблица

Здравствуйте, есть таблица с которой ничего нельзя сделать, восстановить не оптимизировать не открыть. Все остальные таблицы в той же базе работают нормально. Именно с этой таблице какой то косяк не могу понять что с ней. При открывании через phpmyadmin все зависает через другие программы то же, удалить не получается , все виснет. Получилось сделать только дамп Что посоветуете?

Вот такого вида


SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `oc_product`
-- ----------------------------
DROP TABLE IF EXISTS `oc_product`;
CREATE TABLE `oc_product` (
  `product_id` int(11) NOT NULL AUTO_INCREMENT,
  `model` varchar(64) NOT NULL,
  `sku` varchar(64) NOT NULL,
  `upc` varchar(12) NOT NULL,
  `location` varchar(128) NOT NULL,
  `quantity` int(4) NOT NULL DEFAULT '0',
  `stock_status_id` int(11) NOT NULL,
  `image` varchar(255) DEFAULT NULL,
  `video` varchar(255) DEFAULT '',
  `video_poster` varchar(255) DEFAULT '',
  `manufacturer_id` int(11) NOT NULL,
  `shipping` tinyint(1) NOT NULL DEFAULT '1',
  `price` decimal(15,4) NOT NULL DEFAULT '0.0000',
  `points` int(8) NOT NULL DEFAULT '0',
  `tax_class_id` int(11) NOT NULL,
  `date_available` date NOT NULL,
  `weight` decimal(5,2) NOT NULL DEFAULT '0.00',
  `weight_class_id` int(11) NOT NULL DEFAULT '0',
  `length` decimal(5,2) NOT NULL DEFAULT '0.00',
  `width` decimal(5,2) NOT NULL DEFAULT '0.00',
  `height` decimal(5,2) NOT NULL DEFAULT '0.00',
  `length_class_id` int(11) NOT NULL DEFAULT '0',
  `subtract` tinyint(1) NOT NULL DEFAULT '1',
  `minimum` int(11) NOT NULL DEFAULT '1',
  `sort_order` int(11) NOT NULL DEFAULT '0',
  `status` tinyint(1) NOT NULL DEFAULT '0',
  `date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `date_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `viewed` int(5) NOT NULL DEFAULT '0',
  `universal` tinyint(1) DEFAULT '1',
  `vk_export` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`product_id`),
  KEY `universal` (`universal`),
  KEY `model` (`model`)
) ENGINE=MyISAM AUTO_INCREMENT=133564 DEFAULT CHARSET=utf8 AVG_ROW_LENGTH=134;

-- ----------------------------
-- Records of oc_product
-- ----------------------------
INSERT INTO `oc_product` VALUES ('55521', '1099-0102-05CB', '55521', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-0102-05cb-close-up_3.jpg', '', '', '0', '1', '514.6000', '0', '0', '2013-09-17', '0.00', '1', '0.00', '0.00', '0.00', '1', '1', '1', '1', '1', '2013-09-17 03:06:52', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55522', '1099-010W-05X', '55522', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-010w-05x-close-up_3.jpg', '', '', '0', '1', '229.6000', '0', '0', '2013-09-17', '0.00', '1', '0.00', '0.00', '0.00', '1', '1', '1', '1', '1', '2013-09-17 03:06:53', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55523', '1099-010W-05N', '55523', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-010w-05n_3.jpg', '', '', '0', '1', '183.4000', '0', '0', '2013-09-17', '0.00', '1', '0.00', '0.00', '0.00', '1', '1', '1', '1', '1', '2013-09-17 03:06:53', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55524', '1099-010W-05IF', '55524', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-010w-05if-close-up_3.jpg', '', '', '0', '1', '183.4000', '0', '0', '2013-09-17', '0.00', '1', '0.00', '0.00', '0.00', '1', '1', '1', '1', '1', '2013-09-17 03:06:54', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55525', '', '55525', 'http://www.c', 'US', '-1', '14', 'data/mx/reshetki-radiatora/1099-0102-05cb.jpg', '', '', '772', '1', '0.0000', '0', '0', '2013-09-17', '10.00', '1', '0.00', '0.00', '0.00', '1', '0', '1', '1', '1', '2013-09-17 03:06:59', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55526', '1099-0102-05', '55526', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-0102-05-close-up_3.jpg', '', '', '0', '1', '492.5000', '0', '0', '2013-09-17', '0.00', '1', '0.00', '0.00', '0.00', '1', '1', '1', '1', '1', '2013-09-17 03:07:01', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55527', '1099-010W-05ID', '55527', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-010w-05if-close-up_31.jpg', '', '', '0', '1', '229.6000', '0', '0', '2013-09-17', '0.00', '1', '0.00', '0.00', '0.00', '1', '1', '1', '1', '1', '2013-09-17 03:07:03', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55528', '', '55528', 'http://www.c', 'US', '-1', '14', 'data/mx/reshetki-radiatora/1099-0102-05.jpg', '', '', '772', '1', '0.0000', '0', '0', '2013-09-17', '10.00', '1', '0.00', '0.00', '0.00', '1', '0', '1', '1', '1', '2013-09-17 03:07:08', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55529', '1099-B104-05', '55529', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-b104-05-close-up_3.jpg', '', '', '0', '1', '513.2900', '0', '0', '2013-09-17', '0.00', '1', '0.00', '0.00', '0.00', '1', '1', '1', '1', '1', '2013-09-17 03:07:10', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55530', '1099-B10W-05X', '55530', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-b10w-05x-close-up_3.jpg', '', '', '0', '1', '238.0000', '0', '0', '2013-09-17', '0.00', '1', '0.00', '0.00', '0.00', '1', '1', '1', '1', '1', '2013-09-17 03:07:11', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55531', '', '55531', 'http://www.c', 'US', '-1', '14', 'data/mx/reshetki-radiatora/1099-b104-05.jpg', '', '', '772', '1', '0.0000', '0', '0', '2013-09-17', '10.00', '1', '0.00', '0.00', '0.00', '1', '0', '1', '1', '1', '2013-09-17 03:07:16', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55532', '1099-0104-05', '55532', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-0104-05-close-up_3.jpg', '', '', '0', '1', '492.5000', '0', '0', '2013-09-17', '0.00', '1', '0.00', '0.00', '0.00', '1', '1', '1', '1', '1', '2013-09-17 03:07:18', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55533', '', '55533', 'http://www.c', 'US', '-1', '14', 'data/mx/reshetki-radiatora/1099-0104-05.jpg', '', '', '772', '1', '0.0000', '0', '0', '2013-09-17', '10.00', '1', '0.00', '0.00', '0.00', '1', '0', '1', '1', '1', '2013-09-17 03:07:24', '0000-00-00 00:00:00', '0', '0', '0');
INSERT INTO `oc_product` VALUES ('55534', '1099-0104-05CB', '55534', 'http://www.c', '', '1000', '8', 'data/mx/reshetki-radiatora/1099-0104-05cb-clos


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#2 24.09.2013 14:12:44

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

Раз дамп получилось сделать, то можно просто восстановить его (только сначала убедитесь, что он рабочий, восстановив в тестовой базе).


Каким образом сделали дамп?
Сохранилась ли проблема после того как сделали дамп?
Есть ли в выводе SHOW FULL PROCESSLIST; запросы к этой таблице в статусе locked в момент проблемы?

Неактивен

 

#3 24.09.2013 14:48:54

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Re: Мертвая таблица

Я хотел восстановить дамп, но я не могу удалить таблицу просто все виснет. Дамп делал при помощи программы Navicat. Помимо того что бы вернуть все как было, как бы узнать почему такое случилось. Данные заносили парсером в 4 таблицы, все остальные работают нормально кроме этой.
После того как сделал дамп проблемы остались пробовал восстанавливать через Navicat и через phpmyadmin везде оно висит.

Есть ли в выводе SHOW FULL PROCESSLIST; запросы к этой таблице в статусе locked в момент проблемы?

Как это сделать не знаю. Можете рассказать подробнее.


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#4 24.09.2013 15:05:06

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

выполните эту команду в вашем клиенте (phpadmin, и т.д.)

Неактивен

 

#5 24.09.2013 15:25:24

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Re: Мертвая таблица

Вот результат http://gyazo.com/2e88eff0cc37c377df2c8c6fba4db065

locked нет


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#6 24.09.2013 15:46:07

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

А если выполнить запрос к таблице, то что при этом покажет processlist?

Неактивен

 

#7 24.09.2013 19:56:53

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Re: Мертвая таблица

vasya написал:

А если выполнить запрос к таблице, то что при этом покажет processlist?

Я не смог подобрать синтаксис что бы сделать, однако обноружил что таблица таки была удаленна, видимо после долгих обновлений процесса удаления я все таки ее добил.
Теперь я тот дамп импортировал снова, импорт прошел без ошибок, и опять та же история что и была. Как вы думаете что может быть?


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#8 24.09.2013 22:28:09

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

Если вы восстановите дамп таблицы в другую базу (тестовую), она будет работать?

Неактивен

 

#9 26.09.2013 00:47:34

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Re: Мертвая таблица

Я импортировал ее в другую базу сама по себе такая ситуация, когда эта таблица одна в базе все работает нормально, она открывается. Но как только я импортиру все остальные таблицы, повторяется опять же ситуация описанная выше. Я даже не знаю на что думать, я бы еще подумал что лаги связанны с движком, но вот когда в phpmyadmin наблюдаю такую ситуацию, то понимаю что проблема где то внтури базы.


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#10 26.09.2013 00:54:43

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

Т.е. у вас никто к базе не обращается (никакой движок и т.д.), вы пытаетесь сделать запрос к этой таблице и все виснет?

Неактивен

 

#11 26.09.2013 00:56:01

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Re: Мертвая таблица

Да, я скинул вам доступы в личку.


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#12 26.09.2013 01:14:23

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

Ага. show full processlist показывает, что

Id     User     Host     db     Command     Time     State     Info
Завершить     384824     test2     localhost     test2     Query     3961     Sending data     SELECT p.product_id, IF (p.price = '0', (SELECT MI...

а все остальные запросы к таблице `oc_product` находятся в состоянии "Waiting for table", т.е. ждут её освобождения.

Неактивен

 

#13 26.09.2013 01:17:09

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Re: Мертвая таблица

Я не совсем понимаю суть проблемы, получается что таблица висит из за каких то запросов к ней? это очень странно т.к. их нет. Или это запрос count? который считает?

Отредактированно Petr (26.09.2013 01:18:08)


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#14 26.09.2013 01:22:12

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

Запросы есть, что можно увидеть командой show full processlist
Один запрос заблокировал таблицу и выполняется уже больше часа, из-за чего все остальные запросы к этой таблице вынуждены ждать.

Неактивен

 

#15 26.09.2013 01:37:20

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Re: Мертвая таблица

А как его отменить?


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#16 26.09.2013 01:40:46

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

в админе выполнив команду  SHOW PROCESSLIST
в резултатах будет красный крестик напротив каждой строки.
но важнее понять откуда он берется, так как там ещё несколько таких же в очереди стоят smile

Неактивен

 

#17 26.09.2013 01:44:56

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Re: Мертвая таблица

да спасибо, теперь понял при заходе в категорию, он пытается вытянуть товары сортировкой по цене, это его вешает, вот только не понятно почему, один весит другой летает.


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#18 26.09.2013 01:52:35

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

Petr написал:

вот только не понятно почему, один весит другой летает.

это вы о чем?

Неактивен

 

#19 26.09.2013 02:09:14

Petr
Завсегдатай
Откуда: Москва
Зарегистрирован: 19.10.2011
Сообщений: 51

Re: Мертвая таблица

Ну я так понимаю выбирать по цене среди 80000 записей от большего к меньшему его напрягат, вот он и вешается. Другой сайт копия на том ж сервере, с 50000 товаров таких кондилябров не выдает, вот это меня смущает.


Работаю над Сайтом http://tuningdom.ru/, Ищу гуру которого можно спросить обо Всем!

Неактивен

 

#20 26.09.2013 02:22:38

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Мертвая таблица

Petr написал:

Ну я так понимаю выбирать по цене среди 80000 записей от большего к меньшему его напрягат, вот он и вешается.

Ваш запрос перебирает 80000 строк, при этом для каждой строки он выполняет 3 подзапроса. 2 из которых требуют полного перебора таблицы в 140000. Не удивидельно, что он уходит в состояние глубокой задумчивости.

Я рекомендую вам посмотреть статью http://webew.ru/articles/4856.webew

Petr написал:

Другой сайт копия на том ж сервере, с 50000 товаров таких кондилябров не выдает, вот это меня смущает.

С ростом кол-ва товаров не хватает памяти, начинает сбрасывать промежуточные результаты на жесткий.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson