mirror of
https://github.com/house-of-vanity/OutFleet.git
synced 2025-08-21 06:27:15 +00:00
36 lines
1.4 KiB
MySQL
36 lines
1.4 KiB
MySQL
![]() |
-- ВАРИАНТ 1: Удалить ВСЕ записи без acl_link_id
|
|||
|
-- ОСТОРОЖНО! Это удалит все старые логи
|
|||
|
DELETE FROM vpn_accesslog
|
|||
|
WHERE acl_link_id IS NULL OR acl_link_id = '';
|
|||
|
|
|||
|
-- ВАРИАНТ 2: Удалить записи без acl_link_id старше 30 дней
|
|||
|
-- Более безопасный вариант
|
|||
|
DELETE FROM vpn_accesslog
|
|||
|
WHERE (acl_link_id IS NULL OR acl_link_id = '')
|
|||
|
AND timestamp < NOW() - INTERVAL 30 DAY;
|
|||
|
|
|||
|
-- ВАРИАНТ 3: Удалить записи без acl_link_id старше 7 дней
|
|||
|
-- Еще более консервативный подход
|
|||
|
DELETE FROM vpn_accesslog
|
|||
|
WHERE (acl_link_id IS NULL OR acl_link_id = '')
|
|||
|
AND timestamp < NOW() - INTERVAL 7 DAY;
|
|||
|
|
|||
|
-- ВАРИАНТ 4: Оставить только последние 1000 записей без ссылок (для истории)
|
|||
|
DELETE FROM vpn_accesslog
|
|||
|
WHERE (acl_link_id IS NULL OR acl_link_id = '')
|
|||
|
AND id NOT IN (
|
|||
|
SELECT id FROM (
|
|||
|
SELECT id FROM vpn_accesslog
|
|||
|
WHERE acl_link_id IS NULL OR acl_link_id = ''
|
|||
|
ORDER BY timestamp DESC
|
|||
|
LIMIT 1000
|
|||
|
) AS recent_logs
|
|||
|
);
|
|||
|
|
|||
|
-- ВАРИАНТ 5: Поэтапное удаление (для больших БД)
|
|||
|
-- Удаляем по 10000 записей за раз
|
|||
|
DELETE FROM vpn_accesslog
|
|||
|
WHERE (acl_link_id IS NULL OR acl_link_id = '')
|
|||
|
AND timestamp < NOW() - INTERVAL 30 DAY
|
|||
|
LIMIT 10000;
|