Mysql

如何在 mysql 中啟用時態數據庫功能。?

  • July 30, 2019

如何在 mysql 數據庫中啟用時態數據庫兼容性?

是否有任何library或一個plug-in可以實現時間向上兼容?每噹噹前記錄發生變化時,我想保留過去的記錄。

  1. 添加一個 from_date 欄位和一個可為空的 to_date 欄位
  2. 擴展您的主鍵以包含 from_date
  3. 將所有內容保持在 UTC
  4. 考慮使用 PostgreSQL,因為有一個時間擴展來防止重疊時間段。

這是來自“THE”時間數據庫傢伙(Snodgrass)的書:

http://www.cs.arizona.edu/~rts/tdbbook.pdf

還可以嘗試 Celko 的 Smarties 書的第 4 章

您所要求的正是在 MariaDB 10.3.x 中,稱為“系統版本表”

從 10.3.16 版開始,它處於穩定版本中。但請注意 mysqldump 實用程序可能無法正確備份數據。

https://mariadb.com/kb/en/library/system-versioned-tables/

資訊:

系統版本表是 SQL:2011 標準中首次引入的功能。系統版本表儲存所有更改的歷史記錄,而不僅僅是在目前時刻有效的數據。這允許對任何時間點進行數據分析,審核更改並比較來自不同時間點的數據。典型的案例是:

  • 將數據儲存 N 年的取證分析和法律要求。
  • 數據分析(回顧、趨勢等),例如獲取一年前的員工資訊。
  • 時間點恢復 - 恢復特定時間點的表狀態。

引用自:https://dba.stackexchange.com/questions/13904