SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 04.09.2012 22:22:44

StasK
Участник
Зарегистрирован: 04.09.2012
Сообщений: 1

InnoDB удаление большого количества записей

Есть InnoDB таблица (~70 миллионов), в течении дня около 10 миллионов удаляется и столько же добавляется.

В минуту нужно удалять около 15 тысяч записей (определенных прайсов).

До сегодняшнего дня удаление шло так:
2 запроса в минуту с интервалом в несколько секунд.

DELETE FROM table_name WHERE price_id = 100 LIMIT 8000;


По price_id есть индекс. Но не нравилась скорость работы.

Сейчас переделал, т.к. у нас есть "сфинкс" то ищутся id записей с этого прайса в сфинксе и потом
DELETE FROM table_name WHERE id IN (1,2,3 ... 2344)


Делается 15 запросов по 1000 записей, с секундным интервалом.

И тоже не совсем доволен.

Можно как то удалять еще быстрее и проще чем "WHERE id IN (1,2,3 ... 1000)" ?

Неактивен

 

Board footer

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