MySQL(2):要水平分表 吗?

MySQL(2):要水平分表 吗?

前言

昨天困扰了我一阵,要做一个背单词app,其中单词表有10w+数据,对于我这个每见识的可是兴奋了一会,想要不要水平分表啊这可是“大数据量啊”。

答案当然是不用,但是其他表确实在日后需要水平分表!

什么情况下水平分表

水平分表就是一个表装的数据太多了,查起来非常慢,即使是弄好所以还是非常慢!那就水平分表吧!

但是注意水平分表不要轻易的分!可以算是重型武器了,别干杀鸡用牛刀的事!数据量在1000w以上再考虑水平分表!!!而且一定是索引啥的都不管用了再分表,你问为啥,那你说说分表之后要怎么查询!?

所以说单词表才10w,完全不用分表,而且我查询试了一下很快,所以不用分表,但是有别的表需要分!用户背单词记录表!如果有1000个疯狂背单词的用户,背单词超过1w,那这个表直接爆了,挤压别的用户生成空间(玩笑话),而且就是读写压力也大,这个还没想好!

总之如果软件真正上市1w用户每人1000个单词,这个表也是要达到千万级别了,但是可以使用分区来做。

Mysql分表后怎么查询效率高? - 老雕虫的回答 - 知乎

分表(分区)之后怎么查询

要问怎么查先说怎么分!这个要按业务来,一般的如果是自增主键按主键数量分,比如没1000w一个表,还有按时间分、hash。

就拿按数量分来说,分了之后查询按动态表名,但是这个表是中间表,前端传过来的肯定不是这个表记录的id,所以要想查要么部分表,分区,mysql有内置函数,很方便,要么在来个映射表,要么就是hash!hash其实主要是解决在哪里的问题。

mysql分表后,如何知道信息存于哪张分表? - 知乎

总结

前半段很清楚就是分表别随便用,但是后半段分了之后怎么查这确实是难题。以我目前的认知就是要不还是使用分区吧!这个好像方便一点,而且这个要提前确定下来,要是以后确定了分表,那现在的sql就要用动态的,要不以后还得改。

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值