Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki jest najlepszy sposób na stopniowe usuwanie starych wierszy z MySQL?

Spróbuj utworzyć wydarzenie, które będzie automatycznie uruchamiane w bazie danych po wybranym przez Ciebie przedziale czasowym.

Oto przykład:jeśli chcesz usunąć wpisy starsze niż 30 dni z tabeli „tableName” zawierającej wpis w kolumnie „datetime”. Następnie codziennie uruchamiane jest następujące zapytanie, które spowoduje wykonanie wymaganej akcji porządkowej.

CREATE EVENT AutoDeleteOldNotifications
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY 
ON COMPLETION PRESERVE
DO 
DELETE LOW_PRIORITY FROM databaseName.tableName WHERE datetime < DATE_SUB(NOW(), INTERVAL 30 DAY)

Musimy dodać ON COMPLETION PRESERVE zachować wydarzenie po każdym biegu. Więcej informacji znajdziesz tutaj:http://www.mysqltutorial .org/mysql-triggers/working-mysql-scheduled-event/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tabela błędów Mysql 1050 już istnieje, podczas gdy w rzeczywistości tak nie jest

  2. Jak działa NIE PODOBNIE w MySQL

  3. Jaka jest różnica między utf8_general_ci a utf8_unicode_ci?

  4. Jak duża może być baza danych MySQL, zanim wydajność zacznie spadać

  5. Jak odzyskać klaster MySQL Galera z asynchronicznego urządzenia podrzędnego?