mysql 语句优化

在优化之前需要对索引稍微的了解一下。可以以下连接进行查看https://blog.csdn.net/assassinsshadow/article/details/79956820

sql优化的一般步骤:
通过show status 命令了解了解SQL的执行效率。
通过explain分析低效SQL的执行计划
如图:
这里写图片描述
重要的列进行说明:
select_type:表示select的类型,常见的取值有SIMPLE,PRIMARY,UNION,SUBQUERY
table:输出结果集的表。
type:表示mysql在表中找到所需行的方式,或者叫访问类型。
ALL, index,range, ref , eq_ref, const,system, NULL
从左至右,性能越来越好。
通过show profile 分析sql
这里写图片描述

这里写图片描述

常用SQL优化

  1. 优化insert语句
    如果插入行数据较多,尽量使用insert into test values(1,2),(1,3),(1,4)
  2. 优化order by语句
    where条件和order by 尽量使用同一个索引
  3. 优化group by
    可以使用order by null 禁止排序
  4. 优化or
    or只对单个字段的索引有效果,对组合索引无效
  5. 优化分页查询
    第一种思路:根据索引分页,通过查询到的索引结果返回分页数据
    第二种思路:where + order by + limit (前提是需要一个自增的唯一标识符)
  6. 使用SQL提示
    use index //使用索引
    ignore index //忽略索引
    force index //强制使用索引

常用SQL技巧
1. 正则表达式
语法:
这里写图片描述
2. 用bit group function做统计

文章参考:

猜你喜欢

转载自blog.csdn.net/io97704842/article/details/79957519
今日推荐