【mysql】mysq优化全方面分析

良好的逻辑设计和物理设计是高性能的基石,schema的设计既要注意细节,也要关注全局。很多问题在开发的时候并没有时间考虑的那么完全,后期测试就要进行不断的优化。我了解的mysql优化一共有查询优化(主要是索引优化)、数据类型优化、数据库结构优化、mysql服务器优化

SQL调优是一个反复的过程,是一步一步的将SQL语句的性能提升到预期的目标。

它是对一个已经实施完成了的应用的问题的解决,相反的,应用设计则是在实施之前,就应该已经设定好了安全和性能的目标。

目标

了解什么是优化

掌握优化查询的方法

掌握优化数据库结构的方法

掌握优化MySQL服务器的方法

查询优化

查询优化的思路分两种
第一种就是线上生产环境,我们使用的是druid监控页面查询sql执行比较慢的筛选出来
在这里插入图片描述
第二种就是在生产和测试的环境下,使用explian执行计划,根据分析参数来判断哪里出现了问题

索引优化全解:https://blog.csdn.net/yujing1314/article/details/106756289

数据类型优化

数据类型优化主要是在建表阶段就应该做好,因为生产环境下再去修改数据类型代价有点大

数据类型优化:https://blog.csdn.net/yujing1314/article/details/107469269

表优化

范式和反范式

范式化就是满足第一第二第三范式的表设计

反范式化指的是通过增加冗余或重复的数据来提高数据库的读性能。

优化服务器硬件

服务器性能可以在生产环境下进行优化

服务器的硬件性能决定了Mysql数据库的性能,主要有下面几个方面

1.配置较大的内存,提高内存是优化MySQL数据库性能的方法之一,内存的IO非常快,可以增加系统缓存区容量

2.配置高速磁盘SSD等

3.合理分配磁盘IO,减少资源竞争,提高并发操作的能力

4.配置多核处理器,Mysql是多线程数据库,多处理器可以提高执行多个线程的能力

MySQL配置参数调优

max_connections :MySQL的最大连接数,如果服务器的并发连接请求量较大,建议调高此值,以增加并行连接数量

wait_timeout和interative_timeout: wait_timeout:指的是MySQL再关闭一个非交互的连接之前所需要等待的秒数。
interative_timeout:指的是关闭一个交互的连接之前所需要等待的秒数。

sort_buffer_size:每个需要排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY 或 GROUP BY操作

key_buffer_size:表示索引缓冲区的大小,索引缓冲区所有的线程共享,增加索引缓冲区可以得到更好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渐暖°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值