Здравствуйте!
Имеется таблица со следующей структурой (ненужные поля я не указал):
CREATE TABLE `logs` (
`INSERT_DATE` datetime DEFAULT NULL,
`DATA` text NOT NULL,
KEY `INSERT_DATE` (`INSERT_DATE`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
В неё вставляются данные, около 1 кб на строчку. INSERT_DATE заполняется через «now()»
В день новых данных поступает около 15 млн записей. Утром следующего дня забираются данные за вчерашний день в другое приложение по сети
SELECT INSERT_DATE, DATA from logs WHERE INSERT_DATE >= '2015-04-16' AND INSERT_DATE < '2015-04-17'
затем выполняется запрос вида, данные удаляются
DELETE FROM logs WHERE INSERT_DATE >= '2015-04-16' AND INSERT_DATE < '2015-04-17'
Без этого запроса всё прекрасно и если его не выполнять, табличка продолжает быстро вставлять около 200 запросов в секунду и спокойно дорастает до 50 млн, например.
Однако, если данные за предыдущий день удалить, то вставка начинает
Но после этого запроса вставка начинает тормозить, соединения накапливаются, приходится делать
optimize table logs;
который выполняется длительное время, таблица простаивает.
Есть мысль что проблема в фрагментации и перестроении индекса после многих вставок/удаления.
Куда можно смотреть для решения проблемы?
Заранее спасибо!