powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление записей из большой базы
5 сообщений из 5, страница 1 из 1
Удаление записей из большой базы
    #39693487
pr0n1x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, поступило от работодателя следующее задание:

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

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

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

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



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

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


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