mysql优化的一些总结

本文深入探讨了SQL查询性能下降的原因,如低效的查询语句、索引失效、过多的关联查询以及服务器配置不当。提供了详细的优化策略,包括合理创建索引、调整服务器配置和优化查询顺序。此外,还讲解了SQL执行流程和如何通过小表驱动大表来提升效率。

性能下降SQL慢执行时间长,等待时间长的原因:

查询语句写的low
索引失效
关联查询太多join
服务器调优的各项配置(缓冲,线程数等)

优化:

  • 创建索引
  • 在表中加索引 (单值索引)
  • 在表中加索引 (复合索引)

sql的执行顺序:

1,from 查什么表
2,on
3,join
4,where
5,group by
6,having
7,select
8,distinct
9,limit

索引:

单值索引: 单例 age 一个表可以有多个单值索引 name
唯一索引: 不能重复 。id 等
符合索引: 多个列构成的索引。相当于书的二级目录 (name,age)

解析sql过程

from   on   join  where   group   having   select   distinct   order  desc   limit

小表驱动大表, sql连表的时候 小表在外 大表在内 可以优化 效率

当编写 join 语句的时候 把小数据量的表放左边
【一般情况下对于左外连接,给左表加索引。右外连接,给右表加索引】

三张表优化

  • 小表驱动大表
  • 索引建立在经常查询的字段上 (索引 加在常用字段比如where后面的字段)

避免索引失效的原则

  • 符合索引的时候不需要跨列或无需使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值