我有一个场景和两个实现它的选项。哪个效率更高?
我正在使用 mySQL 来存储学生的出勤率(大约 1 亿)。然后使用此出勤数据根据用户的选择绘制图表和结果。
方法1)将学生每天的出勤数据存储在新行中(这将以指数方式增加行数并减少处理时间)
方法.2)连续存储每个学生一年的出勤数据的序列化或 JSON 格式行(这将增加每天更新出勤时的处理时间并减少数据库大小)
最佳答案
首先我觉得你很困惑,行数会线性增加而不是指数增加,这是一个很大的区别。
第二个 100k 对于数据库来说不算什么。即使你存储 365 天也只有 3600 万,我一个星期就有,
JSON 中的第三个存储可能会使将来的查询复杂化。
所以我建议采用方法 1
使用适当的索引、设计和快速 HDD,数据库可以处理数十亿条记录。
您也可以考虑将历史数据保存在不同的模式中,以便当前数据更快一点,但这只是一个小的调整
关于mysql - 在 MySQL 中处理大量数据的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35629752/