【MySQL性能优化】概述与优化方面(一)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 【MySQL性能优化】概述与优化方面(一)

【MySQL性能优化】概述与优化方面(一)【MySQL性能优化】概述与优化方面(一)


像sql语句如何进行调优,基本上在中高级程序员面试中都有可能会被问到。


所以说,了解,或者学习一下如何进行sql调优是必要的。


我会关于该sql调优文章出一个系列的博客。与大家一起学下去


首先不具体进行介绍,先大体的概括一下,因为答案基本是死的,但是处理方式是活的


MySQL性能优化/概述


1.数据库的设计

目前只要知道三范式就可以了


2.数据库的分表分库

分库分为两种,水平分割和垂直分割

分表是在同一个数据库当中,减少一个表的查询压力


3.怎么定位慢查询

如果需要知道定位在哪里进行sql调优,那么我们就需要慢查询了


4.数据库索引的优化、索引原理


5.sql的调优


6.数据库的读写分离

可以使用mycat中间件来做读写分离


7.存储过程、触发器、函数

存储过程你可以看成一块sql语句,一个整体,也就是执行很多条sql语句。

好处是安全性高,你看不到sql语句,你只需要传参就行了。其实一般也就银行项目用到。

弊端就是,sql语句都是写死的,不好灵活改变。


MySQL如何实现优化


1.数据库设计合理

首先第一点,数据库设计要合理,一般都要遵循三范式。

数据库设计基本上考察的是工作经验,如果你经验不足,可能数据库设计的不合理,导致开发困难。


2.添加索引

其次就是添加索引,如果不加索引,基本上查找都叫全表扫描

当你使用了索引时,索引底层使用的BTree,和折半查找算法差不多,可以减少全表扫描的时间

索引分为:普通索引,主键索引,唯一索引和全文索引


3.分表分库技术

还有就是分表分库技术,主要是为了减少单张的查询量。

在外面的核心是通过哈希移植性,也就是取模分表,还有水平分割,垂直分割


4.读写分离

还有就是读写分离

也就是读一个写一个,减少io量,提高io性能


5.存储过程

另外就是使用存储过程,比直接执行sql语句,使用jdbc连接效率高

这点基本


6.配置mysql最大连接数

其实就是并发的时候,提高了并发性能

一般在my.ini中配置


7.mysql服务器升级

也就是把服务器弄好一点


8.随时清理碎片化


9.sql语句的调优


其实也就是上面这九点。但是实际上需要我们调优的核心只有:

sql语句调优,添加索引,分表分库,读写分离,还有数据库设计

其他的都是小细节上面的


怎么实现优化,在后面的文章,我会一一道来


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
存储 算法 关系型数据库
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
MySQL连接的原理⭐️4种优化连接的手段性能提升240%🚀
|
1天前
|
SQL canal 运维
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
|
1天前
|
存储 算法 关系型数据库
MySQL怎样处理排序⭐️如何优化需要排序的查询?
MySQL怎样处理排序⭐️如何优化需要排序的查询?
|
1天前
|
SQL 存储 关系型数据库
5分钟搞懂MySQL半连接优化⭐️多种半连接的优化策略
5分钟搞懂MySQL半连接优化⭐️多种半连接的优化策略
|
1天前
|
SQL 存储 关系型数据库
MySQL的3种索引合并优化⭐️or到底能不能用索引?
MySQL的3种索引合并优化⭐️or到底能不能用索引?
|
2天前
|
存储 关系型数据库 MySQL
MySQL的优化利器⭐️Multi Range Read与Covering Index是如何优化回表的?
本文以小白的视角使用通俗易懂的流程图深入浅出分析Multi Range Read与Covering Index是如何优化回表
|
3天前
|
存储 SQL 关系型数据库
MySQL的优化利器⭐️索引条件下推,千万数据下性能提升273%🚀
以小白的视角探究MySQL索引条件下推ICP的优化,其中包括server层与存储引擎层如何交互、索引、回表、ICP等内容
MySQL的优化利器⭐️索引条件下推,千万数据下性能提升273%🚀
|
4天前
|
存储 关系型数据库 MySQL
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
本篇文章来讨论MySQL字段的字符类型选择并深入实践char与varchar类型的区别以及在千万数据下的性能测试
MySQL字段的字符类型该如何选择?千万数据下varchar和char性能竟然相差30%🚀
|
9天前
|
SQL 存储 关系型数据库
【MySQL系列笔记】SQL优化
SQL优化是通过调整数据库查询、索引、表结构和配置参数等方式,提高SQL查询性能和效率的过程。它旨在减少查询执行时间、减少系统资源消耗,从而提升数据库系统整体性能。优化方法包括索引优化、查询重写、表分区、适当选择和调整数据库引擎等。
187 3
|
10天前
|
缓存 关系型数据库 MySQL
MySQL数据库性能优化实战
【4月更文挑战第30天】本文探讨了MySQL性能优化实战技巧,包括硬件与配置优化(如使用SSD、增加内存和调整配置参数)、索引优化(创建合适索引、使用复合索引及定期维护)、查询优化(避免全表扫描、减少JOIN和使用LIMIT)、分区与分片(表分区和数据库分片),以及使用缓存、定期清理数据库和监控诊断。通过这些方法,可以提升数据库性能和响应速度。