MYSQL 大数据 分表

数据量:
现有 6位数(999,999) 的 catalog 分类,每个分类大概有超过 10位数(9,876,543,210)个 item

那么现在问题来了,根据数据的性质分表能想到的有两种方法:

  1. 数据是有时效性的,按(n)年分表,(n)年前的数据存档,然后,这个多个年也比较难把握。。。

  2. 每一个 catalog 分一个表,也就是说有 6位数的表,也就是一个数据库里边 999999 个表。。。

但是总感觉哪里不对。。。
请问这么大的数据量,mysql 如何做比较合适?

阅读 4.3k
3 个回答

数据库的优化方式,主要是考虑你的数据是如何用的。

如果你的数据都是按某一年来看,那么就按年分表。
如果你的数据主要是根据类别查询,把分类归为几个大类然后拆分一下,保证每个表的数据量差不多即可。

推荐你看下一个文章
《大型网站架构改进历程:存储的瓶颈》





目前看来一个 catalog 分一个表是比较好的解决办法,但是就怕 999999 个表在一个库里边会产生很大的效率问题。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题