千万级数据库

背景:

     系统交易量与日俱增。目前负责系统,数据库单表存放的数据量越来越大,目前已是百万级。查询速度变慢,所以在思考,与同事交流,网上找相应问题需要注意的风险,以及后续解决方案。

 

  • 千万级数据库查询需要注意什么
  1. 建立索引(where,order by)
  2. 避免在where字句中,进行null值判断,导致引擎放弃使用索引,进行全表扫描
  3. 索引提高了查询效率,但是降低了insert和update效率,所以不是越多越好
  4. 数字,不要涉及为字符型,会降低查询连接性能。比较字符串,需要比较每一个,数字只需要比较一次
  5. 频繁和删除临时表,会增加系统表资源的消耗
  6. 如果使用了临时表,最后先显示存储,先truncate table 再 drop table
  7. != 和<>,or,以及在where 后面使用表达式,使用参数,都会导致全表扫描

原文链接: https://www.cnblogs.com/peke/p/8036172.html

  • 千万级数据解决方案
  1. 将历史数据进行迁移。如果系统运行稳定,在固定时间内做历史数据迁移,我认为是一个挺有效的解决方案

     2.分表方案:

    1)一是根据自增主键进行哈希取模,将数据均分到n张表中;该方案最简单,且最合适,拆分后数据分布均匀。

    2)二是无自增主键,选取的分表id由特定的方式生成,则需先确定分表id生成逻辑,根据该逻辑确定取模计算的逻辑,以保证数据均分。
原文链接:https://blog.csdn.net/Daybreak1209/article/details/79858080

             https://blog.csdn.net/happyduoduo1/article/details/51830361/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值