想不到吧,Mysql在项目中的优化场景这么多

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 想不到吧,Mysql在项目中的优化场景这么多

🍁 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家

📌 擅长领域:全栈工程师、爬虫、ACM算法

💒 公众号:知识浅谈

🔥 联系方式vx:zsqtcc

想不到吧,Mysql在项目中的优化场景这么多总结

🤞这次都给他拿下🤞

正菜来了⛳⛳⛳

🎈Mysql在项目中的优化场景,慢查询解决等

猛地一看,感觉这个优化的点就在两个方面:

一个是对sql语句进行改造,

一个是对索引进行改造,当然sql的索引的优化占一大部分,毕竟要注意的点比较多。

🍮SQL语句方面

sql语句的优化主要是像是连接语句where语句limit语句select优化等这几个方面。
1️⃣连接语句:连接方式包括内连接和外连接(左连接,右连接,全连接),在不同的场景下使用不同的个连接方式,优化响应的查询效率。
2️⃣where语句:尽量保证where语句后字段有对应的索引,才能加快速率。
3️⃣limit语句:如我们常见的limit 10000,10 这个是需要取出前10010条数据的,然后截取后10条,优化方法:如果对应的字段是有序的话,我们可以使用如where id>10000 limit 0,10 这样速度就快很多了,如果是无序的话,我们可以先查询id,再根据id回表,这样也会很快 where id in(select id from table1 limit 10000,10)
4️⃣select
:很多时候不推荐使用这个select*

第一:select 指出指定的字段在代码方面也容易查看业务需要的都是什么字段。

第二:select需要查询全部的字段的值,如果是根本用不到的查询出来,也增加了IO,如像是聚合索引就能索引覆盖到字段的值,如果select还要进行回表,无疑增加了IO。

第三:select*查询较多的值,在网络传输的时候也会暂用较大的带宽和传输流量,延迟传输时间。

🍮索引方面

📐第 1 步: 是否创建了索引

在查询数据的时候,where条件后边的字段是否使用到了索引,比如说添加唯一索引,普通索引,全文索引等索引结构。

📐第 2 步 :索引是否已经失效

因为有一些常见索引失效的条件,模糊查询 %在前边,参与表达式,使用内置函数,隐私转换,字符编码不同,>,<,当IN的取值范围较大时会导致索引失效等,检查是否会出现索引失效的情况。

📐第 3 步:索引是否使用恰当

索引是否使用恰当,指的是针对不同的查询,如多条件查询的时候,可以选择使用聚合索引,分辨率高的字段使用索引,具有唯一性性质的索引使用唯一索引,对修改频繁的可以使用普通索引,因为写的数据可以写到changebuffer中,使用普通索引不会有影响。

🍚总结

以上就是关于在项目中mysql做的优化,希望有所帮助。

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