mysql - Hibernate Envers 旧的数据处理?

标签 mysql spring hibernate hibernate-envers

我正在使用 spring mvc 和 hibernate envers 来审计我的数据库,我如何处理旧数据以减少使用的磁盘空间?

我是否必须每隔特定时间备份数据库并在备份后清空审核数据库?有什么技术可以解决这个问题吗?

最佳答案

Hibernate 手册中描述了一种称为分区的技术:

https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/ch15.html#envers-partitioning

然而,它似乎只解决了索引/查询计时的问题(它只创建最可能重要的数据“桶”(最近的数据)),而不是磁盘空间本身。

如果您的旧数据对于您的应用程序正常运行并不是绝对必要的,您可以使用“结束修订日期”作为可以从 _AUD 表中删除的行的剪切。这不会打破环境,只是不会为您提供正确的修订历史记录。

关于mysql - Hibernate Envers 旧的数据处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35986636/

相关文章:

java - Spring API 中的返回请求

java - 寻找让Web框架在服务器端更加面向对象的最佳方式

php - 无法使用 PHP 在 MySQL 数据库中插入多个图像

java - 在 Spring MVC 中使用@Controller、@Service 和@Inject

spring - 事务服务中的 ConstraintViolationException 没有回滚

java - 不要重复 DAO!使用通用 DAO

java - Hibernate、Postgre/MySQL 差异

php - 查找没有 sql_attr_multi 属性值的文档 (Sphinx)

mysql - 在 mysql INNER JOIN 中嵌套 max(date) 语句

php - MySqli 多个查询如何更快地处理结果