MYSQL --SQL优化流程

本文介绍了MySQL SQL优化的详细流程,包括分析SQL结构、利用MySQL 5.6后的子查询优化、查看慢查询日志、索引使用与优化、表连接与索引覆盖、表的拆分和规范书写等关键步骤,旨在提升SQL执行效率和系统可扩展性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常去想想以前的东西,怀旧不是用感伤的,是温故知新,加油!!!


一、分析一个SQL:


1.先看表结构,美化一下,一个好看的结构会让人心旷神怡


2.对复杂的SQL进行分析

(1)尽量将复杂的SQL拆成几个简单的查询

(2)尽量使用表连接,减少使用过 in/not in

(3)尽量减少子查询的使用或者将其合并出来

(4)尽量将 in/ not in /exists/not exists变为 join 语句,减少/合并子查询


3.从MySQL 5.6开始,子查询处理变得相对智能,利用其进行优化

(1)注意空值变化

(2)适当进左连接

(3)将SQL进行不同方式灵活转换,测试性能


4.查看慢查询日志,主要看两个地方

i. Row examined(最终要依据)

ii. Query time


5.SQL对系统可扩展性的影响

是否产生了慢查询,产生全表扫描,时间
中间件的影响


二、 分析SQL表连接图,画出拓扑图,找出主外键:


三、 找出返回数据最少的那张表


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值