在MySQL中处理大量数据的有效方法

mr.*_*ool 6 mysql sql database

我有一个场景和两个选项来实现它.哪一个会更有效率?

我正在使用mySQL来存储学生的出勤率(大约1亿).然后使用此考勤数据根据用户的选择绘制图表和结果.

方法1)将学生的出勤数据存储在新行中(这将以指数方式增加行数并减少处理时间)

方法2)连续存储每个学生一年的考勤数据的序列化或JSON格式的行(这将增加每天更新出勤率和减少数据库大小的处理时间)

Jua*_*eza 9

首先我认为你很困惑,行数会增加线性而不是指数,这是一个很大的差异.

第二个100k对数据库来说没什么.即使你存储的365天只有3600万,我也会在一周内完成,

JSON中的第三个存储可能使将来的查询变得复杂.

所以我建议采用方法1

使用适当的索引,设计和快速HDD,数据库可以处理数十亿条记录.

您也可以考虑将历史数据保存在不同的模式中,以便当前数据更快一些,但这只是一个小调整