【mysql】mysq优化全方面分析

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【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:表示索引缓冲区的大小,索引缓冲区所有的线程共享,增加索引缓冲区可以得到更好

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
SQL 监控 关系型数据库
MySQL优化: CPU高 处理脚本 pt-kill脚本
MySQL优化: CPU高 处理脚本 pt-kill脚本
|
14天前
|
SQL 缓存 关系型数据库
MySQL高级篇——关联查询和子查询优化
左外连接:优先右表创建索引,连接字段类型要一致、内连接:驱动表由数据量和索引决定、 join语句原理、子查询优化:拆开查询或优化成连接查询
MySQL高级篇——关联查询和子查询优化
|
14天前
|
算法 关系型数据库 MySQL
MySQL高级篇——排序、分组、分页优化
排序优化建议、案例验证、范围查询时索引字段选择、filesort调优、双路排序和单路排序、分组优化、带排序的深分页优化
MySQL高级篇——排序、分组、分页优化
|
13天前
|
存储 关系型数据库 MySQL
分析MySQL主从复制中AUTO_INCREMENT值不一致的问题
通过对 `AUTO_INCREMENT`不一致问题的深入分析和合理应对措施的实施,可以有效地维护MySQL主从复制环境中数据的一致性和完整性,确保数据库系统的稳定性和可靠性。
41 6
|
14天前
|
存储 关系型数据库 MySQL
分析MySQL主从复制中AUTO_INCREMENT值不一致的问题
通过对 `AUTO_INCREMENT`不一致问题的深入分析和合理应对措施的实施,可以有效地维护MySQL主从复制环境中数据的一致性和完整性,确保数据库系统的稳定性和可靠性。
30 1
|
1月前
|
SQL 监控 关系型数据库
使用 pt-query-digest 工具分析 MySQL 慢日志
【8月更文挑战第5天】使用 pt-query-digest 工具分析 MySQL 慢日志
37 3
使用 pt-query-digest 工具分析 MySQL 慢日志
|
1月前
|
存储 JSON 关系型数据库
MySQL与JSON的邂逅:开启大数据分析新纪元
MySQL与JSON的邂逅:开启大数据分析新纪元
|
1月前
|
缓存 关系型数据库 MySQL
在Linux中,如何优化MySQL性能,包括索引优化和查询分析?
在Linux中,如何优化MySQL性能,包括索引优化和查询分析?
|
1月前
|
关系型数据库 MySQL
MySQl优化:使用 jemalloc 分配内存
MySQl优化:使用 jemalloc 分配内存
|
1月前
|
存储 关系型数据库 MySQL
MySQL 上亿大表,如何深度优化?
【8月更文挑战第11天】随着大数据时代的到来,MySQL 作为广泛使用的关系型数据库管理系统,经常需要处理上亿级别的数据。当数据量如此庞大时,如何确保数据库的查询效率、稳定性和可扩展性,成为了一个亟待解决的问题。本文将围绕 MySQL 上亿大表的深度优化,分享一系列实用的技术干货,帮助你在工作和学习中应对挑战。
72 1