mysql数据量大优化_争对mysql表数据量比较大时优化的几点建议

针对MySQL数据表大量数据的优化,本文提出了一个优化顺序:优化SQL与索引、加缓存、主从/主主复制、使用分区表、垂直拆分、水平切分。强调SQL优化的重要性,包括选择合适的索引、避免复杂查询和考虑业务场景。同时讨论了MyISAM与InnoDB引擎的特性与优化技巧,如MyISAM的表锁和InnoDB的行锁,以及索引覆盖技术的应用。
摘要由CSDN通过智能技术生成

争对mysql数据表的优化网上给的方案也是多种多样,下面这些是我自己在网上看到的一些优化方案,在此整理一下:

对于数据量比较多的问题结合优化成本给出的优化顺序可以分为以下几步:

1、优化你的sql和索引,比如优化你的sql语句的写法,不要把sql语句写的太复杂,使用“临时表”暂存中间结果等; 2、加缓存,比如使用memcached,redis等; 3、如果以上都做了后,还是慢,可以考虑做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,        第三方工具这里推荐使用360的atlas,至于其他的个人觉得效率并不是很高,或者有的也没人维护; 4、以上三种如果都做了还是很慢的话,我觉得还是不要想着去做切分,mysql自带分区表,先试试这个,对你的应用是透明的,无需更改代码,但是sql语句是需要针对分区表做优化的,sql条件中要带上分区条件的列,从而使查询定位到少量的分区上,否则就会扫描全部分区,另外分区表还可能带来一些其他问题,具体可以自己去了解一下; 5、如果以上都做了,那就先做垂直拆分,其实就是根据你模块的耦合度,将一个大的系统分为多个小的系统,也就是分布式系统; 6、争对以上的优化如果觉得满足不了,需要做进一步优化的话这时可以考虑水平切分,针对数据量大的表,这一步最麻烦,最能考验技术水平,要选择一个合理的sharding      key,为了有好的查询效率,表结构也要改动,做一定的冗余,应用也要改,sql中尽量带shardi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值