MYSQL数据库管理

标签 mysql database content-management-system archive

这更像是一个关于如何最好地管理数据库的一般性问题。

我有一个 MYSQL 数据库,该数据库定期由用户更新每日事件、用户事件和每日事件的选择。这已经运行了几年,我认为最好将旧事件和事件存档。

这是个好主意吗?归档的最佳实践是什么?如何在不弄乱数据库的情况下实现归档?我是否需要担心表格可能包含太多数据?表字段的唯一 ID 有时会变得过高吗?

我知道很多问题,但我希望能回答这些问题中的任何一个,或者提供有关 YouTube、Facebook 等网站如何解决此问题的信息。

谢谢:)

最佳答案

如果您担心或遇到性能问题,可以考虑运行维护查询,如 ANALYZE、REINDEX 等。

如果你真的想存档你的数据,你可以运行一个计划任务/cron 作业来将所有未使用的项目(即早于 xxxx)放入“存档”表中;你甚至可以使用 ARCHIVE Mysql engine允许您定义只读和压缩表以优化数据空间使用。

您还可以选择对表进行分区,以便将它们拆分为多个“子表”,这些子表可能位于不同的目录/驱动器中。

无论如何,我不能比其他解决方案更推荐任何解决方案,因为您没有说出您的确切问题是什么(如果您有的话!)。如果我能提供更多帮助,请告诉我。

关于 auto_increment 字段,如果 ID 达到您的 auto_increment 列类型允许的最大值,ID 将变得过高。你放了什么?情报?比特币?那些允许 very high values

关于MYSQL数据库管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12872718/

相关文章:

mysql - 我如何 "tell"MySQL 在按类别分组的单个查询中返回具有多个聚合函数的关联值?

php - 尝试在一百万行表的列中对相似的文本行进行分组 - 对非 MySQL 方法开放

open-source - 开源主题/插件目录引擎

css - 禁用 CSS 规则

php - 每当我的代码中有样式或包含任何带有 css/styles 的内容时,都会弹出奇怪的 HTML

mysql - 从事件中选择不同的值

mysql - MySQL如何处理一张表中的数据并将其插入到另一张表中?

mysql - 如何将mysql的默认端口从3306更改为3360

.net - 电影数据库使用 SQL 或 NoSQL .net

database - Postgres : How to insert only year in type date? 中的 ISO-8601(不完整的日期时间值)