Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление записей из большой базы / 5 сообщений из 5, страница 1 из 1
27.08.2018, 00:51
    #39693487
pr0n1x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей из большой базы
Здравствуйте, поступило от работодателя следующее задание:

В таблице MySQL (InnoDb) хранится 50 миллионов записей логов. Каждая запись имеет проиндексированное время создания (created_at). Новые записи в таблицу добавляются в режиме реального времени, круглосуточно, примерно 100 записей в минуту.

Необходимо:
Удалить из таблицы логов все записи, старше одного месяца.
В качестве решения задачи пришлите краткое описание вашего подхода и ключевые запросы.

=================

Это задача решается одним запросом:
Код: sql
1.
DELETE FROM table WHERE created_at < 'date';



В чем тут подвох?
...
Рейтинг: 0 / 0
27.08.2018, 07:47
    #39693509
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей из большой базы
pr0n1xВ чем тут подвох?В блокировках, наверное.

Задача разовая или регулярная?
...
Рейтинг: 0 / 0
27.08.2018, 07:50
    #39693510
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей из большой базы
pr0n1xВ чем тут подвох?Формально - решение верное. А на практике всё встанет колом. Я бы удалял из хранимой процедуры - удалил, скажем, 1000 записей, подождал 5-10 секунд, удалил ещё 100 записей... и повторял, пока что-то удаляется.
...
Рейтинг: 0 / 0
27.08.2018, 08:02
    #39693515
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей из большой базы
miksoftЗадача разовая или регулярная?
скорее тестовая, иначе о подвохах бы не спрашивал )
...
Рейтинг: 0 / 0
28.08.2018, 16:18
    #39694454
pr0n1x
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление записей из большой базы
Всем спасибо, подвох в том, что операция удаления медленная в MySql и удаление в такой таблице заняло бы хороший промежуток времени. Нашел выход в том, что таблицу надо разделить на партиции например по неделям и удалять записи по одной, а целыми партициями, это скорости это очень выиграшно.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление записей из большой базы / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]