Mysql优化
2021/9/16 19:35:12
本文主要是介绍Mysql优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
硬件层面
1、选择IO性能好的服务器;
2、数据库服务器不要开启其他服务。
数据库层面
1、加大Mysql缓存大小;
2、加大max_connections数量,提高并发量
表结构涉及层面
1、InnoDB基于B+数的特点,大数据量表尽量用自增主键提高读写效率
2、合理创建索引,重复数据多的或者NULL值的不适合做索引
SQL层面
主要是基于索引的优化,比如
1、大批量插入数据,可以按照主键顺序排列,同时可以关闭唯一性校验,改为手动提交事务。
2、因为mysql的索引是遵循左前缀原则,比如索引a、b、c,只有在查询条件或者group by、order by的字段排序为a,ab,abc时索引才会生效,所以要尽量保证顺序一致。
3、查询包含group by但是用不需要排序的时候,可以加上order by null
4、用具体字段代替select *
5、关联查询代替子查询
6、or如果索引失效,可以用union代替
SQL的优化不限于此,具体的可以查看执行计划,即在sql前面加上explain,查看连接类型,是否走索引等。
架构设计层面
1、考虑到高可用性,可采用MySQL主从复制+Keepalived做双击热备,常见集群软件有Keepalived、Heartbeat。
2、读写分离
3、连接池
4、缓存机制减轻数据库压力,比如redis等
代码层面
1、合并SQL,比如insert into tb_test values(1,'Tom'),(2,'Cat'),(3,'Jerry');
2、多线程访问数据库。
这篇关于Mysql优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南