MySQL 分区/非常大量的记录

MySQL 分区/非常大量的记录

我正在寻找有关如何设置 MYSQL 实例的建议。我有一个用于维护日志条目的表,每月大约有 1000-1100 万条条目。我觉得对于单个表来说,这个记录太多了(一年大约 1.2 亿条),所以我正在寻求有关如何更好地设置它的建议。

我可以为每个月创建一个表,但这会使我的 PHP 代码变得非常复杂。我以前从未处理过这么大的记录集,希望您能给我一些建议。谢谢!

答案1

如果您只是记录,那么是否有任何理由需要能够对数据集运行 SQL 查询?对于记录,平面文件通常更容易使用。您可以记录到平面文件,或定期从数据库中提取数据吗?或者按照同样的思路,定期运行 SQL 脚本,按月将数据拆分成表。(这将需要重新编写查询脚本,但不需要重新编写插入脚本。)

MySQL 可以处理如此大的表,但您处于某种未知领域。附加记录并将索引数量保持在最低限度会有所帮助。如果您可以接受它的局限性,MyISAM 可能比某些替代方案略胜一筹。

您还可以运行两个数据库实例(最好在不同的服务器上)。使用复制将日志数据传输到第二台服务器并在那里运行查询。这将使日志表上的查询不会影响您的生产服务器。

相关内容