Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apa cara terbaik untuk menghapus baris lama dari MySQL secara bergulir?

Coba buat Acara yang akan berjalan di database secara otomatis setelah interval waktu yang Anda inginkan.

Berikut adalah Contoh:Jika Anda ingin menghapus entri yang berumur lebih dari 30 hari dari beberapa tabel 'tableName', memiliki entri kolom 'datetime'. Kemudian kueri berikut dijalankan setiap hari yang akan melakukan tindakan pembersihan yang diperlukan.

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)

Kita perlu menambahkan ON COMPLETION PRESERVE untuk menjaga acara setelah setiap menjalankan. Anda dapat menemukan info lebih lanjut di sini: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. Skenario Pencadangan dan Pemulihan Cloud MySQL Menggunakan Microsoft Azure

  2. Tipe data apa yang digunakan untuk bidang kata sandi hash dan berapa panjangnya?

  3. Bagaimana cara mengubah hasil SQL Query ke Struktur Data PANDAS?

  4. Nilai zona waktu server 'AEST' tidak dikenali atau mewakili lebih dari satu zona waktu

  5. Bagaimana cara mendeteksi bahwa transaksi telah dimulai?