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

MySQL中处理大量数据的有效方法,mysql,sql,database,Mysql,Sql,Database,我有一个场景和两个选项来实现它。哪一个更有效 我正在使用mySQL存储学生的出勤率(大约1亿)。然后根据用户的选择,使用这些考勤数据绘制图表和结果 方法1)将学生每天的出勤数据存储在新行中(这将以指数方式增加行数并减少处理时间) 方法。2)将每个学生一年出勤数据的序列化行或JSON格式行存储在一行中(这将增加每天更新出勤时的处理时间并减少数据库大小)首先,我认为您感到困惑,行数将线性增加,而不是指数增加,这是一个很大的差异 对于数据库来说,第二个100k算不了什么。即使你储存365天,也只有36

我有一个场景和两个选项来实现它。哪一个更有效

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

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


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

首先,我认为您感到困惑,行数将线性增加,而不是指数增加,这是一个很大的差异

对于数据库来说,第二个100k算不了什么。即使你储存365天,也只有3600万,我一周内就有

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

因此,我建议采用方法1

使用适当的索引、设计和快速硬盘驱动器,一个数据库可以处理数十亿条记录


你也可以考虑在不同的模式中保存历史数据,这样当前的数据稍微快一点,但这只是一个小的调整,

100K并不是MUK100K vs 100 MLL,这是一个主要的编辑!很抱歉我错过了。所以你每天节省1亿行(你算学生还是兔子:P)?还是有一亿,每天增长多少?因为我仍然认为我的答案是一样的。不,不是每天一亿排。每天大约有1Lac行。我担心从长远来看,它能有效地处理如此庞大的行数吗