[英]Delete data from postgres/mysql on regular interval
我有一個 spring 啟動應用程序,我正在使用 mysql 或 postgres 數據庫(根據客戶要求)。 在數據庫中,我有一個表,我必須在其中存儲 3 個月的數據。 數據通過 kafka stream 連續填充到此表中。 所以我有一個計划的 spring 任務定義了定期運行查詢以刪除。
delete from table where creation_time < (current_time - 3 months)
但是當這個表有很多數據時,這個查詢會花費很多時間並且有時會卡住。 在表數據上定義 ttl 或在表數據變舊后批量刪除它的標准方法是什么?
PS:我在 creation_time 上有一個索引,我的主鍵是 uuid 類型。
這些場景應該在數據庫級別而不是應用程序級別處理。
請考慮為您的表定義存檔策略以存檔舊記錄。
看看這里: https://www.percona.com/blog/2018/02/19/archiving-mysql-tables-in-clickhouse/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.