SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 28.09.2012 13:11:34

gif-t
Завсегдатай
Зарегистрирован: 08.08.2011
Сообщений: 74

DELETE из MEMORY таблицы

Запрос:

DELETE FROM table WHERE `d`<'15610' AND `s`>='0' AND `s`<'1000';

выполняется 15 минут на таблице:
Rows: 72000
Table Type: MEMORY
Row Format: Dynamic
Index Length:  3.15 MB
Data Length: 144.82 MB

PRIMARY KEY (`s`,`d`,`c`),
UNIQUE KEY `k` (`s`,`d`,`c`) USING BTREE


SHOW FULL PROCESSLIST показывает постоянный рост значения Rows examined, которое на 15-ой минуте достигает 414 487 961. Зависает запрос на операции update. При этом вся таблица залочена и другие запросы не проходят.
Что это может быть и как поправить? Может нужно отдельные индексы добавить?

Отредактированно gif-t (07.10.2012 16:18:39)

Неактивен

 

#2 07.10.2012 16:02:28

gif-t
Завсегдатай
Зарегистрирован: 08.08.2011
Сообщений: 74

Re: DELETE из MEMORY таблицы

Можете подсказать, что показывает Rows examined?
На операции DELETE оно переваливает за 683634000, проц при этом загружен на 100%, только одно ядро.
Запрос выполняется 16 минут, выполняет state: updating
Никак не могу сообразить что это может быть

Отредактированно gif-t (07.10.2012 16:11:27)

Неактивен

 

Board footer

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