powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление сток при превышении 10 на пользователя.
6 сообщений из 6, страница 1 из 1
Удаление сток при превышении 10 на пользователя.
    #39717687
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Я видел несколько постов на форуме посвященных ограничению строк в таблице, но там больше хотят жестко ограничить количество строк.
К примеру у нас есть tbl_user и tbl_userLog (хранит данные о заходе пользователя на сайт). Хочется раз в неделю запускать job и оставлять не более 10 последних записей на каждого пользователя ожидаемый размер таблицы tbl_userLog 2000-3000к записей.

Как оптимально быстро удалить старые записи?
...
Рейтинг: 0 / 0
Удаление сток при превышении 10 на пользователя.
    #39717691
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оптимально - не создавать такие записи вообще. Ротация записей - обновление наиболее старой записи данными для новой записи вместо вставки новой записи в таблицу.
...
Рейтинг: 0 / 0
Удаление сток при превышении 10 на пользователя.
    #39717702
Fitter2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я читал в постах от вас именно такое решение.
Но представим, что я упустил момент и чтобы реализовать метод "обновление старой записи" и для начала мне нужно вычистить лишние строки из базы. Варианты есть?

Спасибо.
...
Рейтинг: 0 / 0
Удаление сток при превышении 10 на пользователя.
    #39717732
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fitter2Я читал в постах от вас именно такое решение.
Но представим, что я упустил момент и чтобы реализовать метод "обновление старой записи" и для начала мне нужно вычистить лишние строки из базы.Значит, плохо читал. Или не разобрался в том, что прочитал.

При ротации процесс занесения новых данных и процесс установления количества записей никак не связаны. То есть вообще никак. Ротация организуется на уже существующих данных, а если их меньше (в т.ч. пока нет вообще - одна пустая структура), то сначала в таблицу записывается/добавляется необходимое количество "экстремально старых" пустых записей, а затем запускается ротация. А когда ротация уже работает, в любой момент при необходимости изменить количество записей туда либо добавляется недостающее количество "экстремально старых" пустых записей, либо удаляется излишнее количество самых старых записей (если их слишком много - то небольшими порциями, не оказывающими влияние на основной процесс).
...
Рейтинг: 0 / 0
Удаление сток при превышении 10 на пользователя.
    #39719368
MAPA3OT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fitter2Я видел несколько постов на форуме посвященных ограничению строк в таблице, но там больше хотят жестко ограничить количество строк.
К примеру у нас есть tbl_user и tbl_userLog (хранит данные о заходе пользователя на сайт). Хочется раз в неделю запускать job и оставлять не более 10 последних записей на каждого пользователя ожидаемый размер таблицы tbl_userLog 2000-3000к записей.

Как оптимально быстро удалить старые записи?

Если записей много, а так оно скорее всего и есть - Создаёте новую таблицу с нужными данными -> Удаляете старую -> Переименовываете новую.
Или если есть страшные триггеры, вьюхи, ключи жалко и т.д. - Создаёте новую таблицу с нужными данными -> Чистите старую (TRUNCATE про DELETE вообще забудьте, нет (вернее не должно быть) в SQL такой команды) -> вставляете данные из новой таблицы в старую.
...
Рейтинг: 0 / 0
Удаление сток при превышении 10 на пользователя.
    #39719847
bochkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давай структуру таблицы
напишу тепе DELETE
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление сток при превышении 10 на пользователя.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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