如何分开数据表,但仍然可以在网站上共同使用?当数据越来越多,SQL文件大小越来越大

clipboard.png

我现在面临到的问题是
我有一个数据表已经快破一百万了
再这样下去也不是办法
我要怎么将它分出来,但是一样可以使用该数据表的数据?
因为假设我把它汇出后 drop 这张表
我网站上就无法使用它,应该是说无法跟新产生的数据一同使用?
我也有想过再开一张表,把原本数据多的那张表改名,但是这样下去备份的文件大小会越来越大
有大神能指点迷津吗

阅读 2.8k
4 个回答
  1. 百万级小case,完全不用担心
  2. 如果真要拆,先确定你旧的数据还要不要用? 如果要用,那就只能是正常的水平分表(比如按id或按日期);如果可以不用,那就直接每天把不用的旧数据移到其它表就可以了

个人建议:

你可以选择纵向拆或者横向拆;
纵向:单个表字段拆成两个或多个,大字段如text之类的,可以单独表处理;
横向:根据时间范围进行拆分两张或多张表,形成的新的数据表。

看你的表时基于什么的,可以做分表,然后根据请求的对象路由到不同的数据表

MySQL还是能应付得来百万级的,如果你单纯是害怕会影响性能,你可以建立索引。如果你实在想把它拆分的话,那就把表按照时间命名吧,比如table_2019_01_31,然后查询的时候根据条件灵活切换就好了。

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