这更像是一个关于如何最好地管理数据库的一般问题。
我有一个 MYSQL 数据库,它会定期由用户更新,包括每日事件、用户活动和每日事件选择。这已经运行了几年,我认为也许最好将旧事件和活动存档。
这是个好主意吗?归档的最佳实践是什么?如何在不破坏数据库的情况下实现?我是否需要担心表格可能包含太多数据?表字段的唯一 ID 是否有时会变得过高?
我知道很多问题,但我会很感激这些问题的答案,或者可能是关于 YouTube、Facebook 等网站如何解决这个问题的信息。
谢谢 :)
这更像是一个关于如何最好地管理数据库的一般问题。
我有一个 MYSQL 数据库,它会定期由用户更新,包括每日事件、用户活动和每日事件选择。这已经运行了几年,我认为也许最好将旧事件和活动存档。
这是个好主意吗?归档的最佳实践是什么?如何在不破坏数据库的情况下实现?我是否需要担心表格可能包含太多数据?表字段的唯一 ID 是否有时会变得过高?
我知道很多问题,但我会很感激这些问题的答案,或者可能是关于 YouTube、Facebook 等网站如何解决这个问题的信息。
谢谢 :)
如果您害怕或遇到性能问题,可以考虑运行维护查询,如 ANALYZE、REINDEX 等。
如果您真的想存档您的数据,您可以运行计划任务/cron 作业将所有未使用的项目(即早于 xxxx)放入“存档”表中;您甚至可以使用ARCHIVE Mysql 引擎,该引擎允许您定义只读和压缩表来优化数据空间使用。
您还可以选择对表进行分区,以便将它们拆分为多个“子表”,这些“子表”可能位于不同的目录/驱动器中。
无论如何,我不能比其他人更推荐任何解决方案,因为你没有说出你的确切问题是什么(如果你有一个!)。让我知道我是否可以提供更多帮助。
关于 auto_increment 字段,如果 ID 达到您的 auto_increment 列类型允许的最大值,则会变得过高。你放了什么?INT?大整数?那些允许非常高的值