mysql 语句优化

14 篇文章 0 订阅

在优化之前需要对索引稍微的了解一下。可以以下连接进行查看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做统计

文章参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值