【问题标题】:Efficient way of handling large number of data in MySQL在 MySQL 中处理大量数据的有效方法
【发布时间】:2016-02-25 14:14:13
【问题描述】:

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

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

Approach.1)将学生每天的出勤数据存储在新行中(这将成倍增加行数并减少处理时间)

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

【问题讨论】:

  • 100k 不是很多
  • 100k vs 100 mill,这是一个重大的修改!
  • 对不起...我错过了。
  • 所以你每天保存 1 亿行(你算学生还是兔子:P)?或者有 1 亿并且每天增长多少?因为我仍然认为我的答案会起作用。
  • 不,不是每天 1 亿行。每天大约 1Lac 行。恐怕从长远来看它能够有效地处理如此大量的行

标签: mysql sql database


【解决方案1】:

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

第二个 100k 对数据库来说不算什么。就算365天存储3600万,我一个星期就有了,

JSON 中的第三存储可能会使以后的查询复杂化。

所以我建议采用方法 1

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    相关资源
    最近更新 更多