大表数据查询,怎么优化

  1. 优化sql语句+索引;

  2. 第二加缓如加redis;

  3. 主从复制,读写分离;

  4. 垂直拆分表,所谓的垂直拆分,就是把原来一个有很多列的表拆分成多个表,这解决了表的宽度问题.
    垂直拆分的原则:

  5. 把不常用的字段表单独存放到一个表中。

  6. 把大字段独立存放到一个表中。

  7. 把经常一起使用的字段放到一起。

  8. 水平切分,水平拆分是指数据表行的拆分,表的行数超过200万行时,就会变慢,这时可以把一张的表的数据拆成多张表来存放,水平拆分的方案:

  9. 范围

  10. 枚举

  11. 时间

  12. 取模

  13. 哈希

  14. 指定
    通常情况下,我们使用取模的方式进行拆分,例如一张400w数据的表,为提高查询效率,我们将其分成四张表(一模一样),然后通过ID取模的方式将数据分散到四张表中, ID%4 + 1 = [1, 2, 3, 4],因此查询更新删除时,我们都可以通过取模的方式获取

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值