簡體   English   中英

定期從 postgres/mysql 中刪除數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM