Mysql 语句优化
- 通过 show status 命令了解各个 sql 语句的执行频率
格式:Mysql> show [session | global] status;
注:session 表示当前连接
global 表示自数据库启动至今
eg:Mysql> show status;
Mysql> show global status;
Mysql> show status like 'Com_%';
Mysql> show global status like 'Com_%';
**** 判断字段是否需要添加索引,并使用 explain、desc 查看它影响的行数多不多
a、查看慢查询日志
b、通过解析 Sql 语句,判断影响行数
c、通过影响的行数,判断是否需要添加索引,以及索引能否使用
参数说明
Com_xxx 表示 xxx 语句执行的次数:
Com_select:执行 select 操作的次数,一次查询叠加一次
Com_update: 执行 update 操作的次数
Com_insert: 执行 insert 操作的次数,对批量插入只算一次
Com_delete: 执行 delete 删除操作的次数
只针对 innodb 存储引擎
Innodb_rows_read: 执行 select 操作行的次数
Innodb_rows_updated: 执行 update 操作行的次数
Innodb_rows_inserted: 执行 insert 操作行的次数
Innodb_rows_deleted: 执行 delete 操作行的次数
Others:
connections: 连接 Mysql 的次数 (成功、失败都记录)
Uptime 服务器已经工作的秒数
Slow_queries: 慢查询的次数 - 定位执行效率较低的 SQL 语句 (显示详细的执行效率)
a、explain select * from table where id = 1000;
b、desc select * from table where id = 1000;
参数解释:
select_type: 表示 select 的类型。
SIMPLE 表示不使用表连接或子查询
PRIMARY 表示主查询,即外层查询
UNION 表示多个查询合并
SUBQUERY 表示子查询的第一个 select
table: stu 表示结果集的表
type: range 表示表的连接类型,性能不一。
system 表示表仅有一行
const 表示只一行匹配
eq_ref 表示对于前面使用的每一行使用主键和唯一
ref 表示没有使用主键或唯一
ref_or_null 表示没有使用主键和唯一同时对 Null 查询
index_merge 表示索引合并优化
unique_subquery 表示 in 的后面是一个查询主键字段的子查询
index_subsquery 表示非主键子查询
range 表示区间查询
ndex 表示都通过查询索引得到数据
all 表示扫描全表得到的数据(尽量避免)
possible_keys: 表查询是可能使用到的索引
key: 实际使用到的索引
key_len: 索引字段的长度
rows: 扫描行的数量
Extra: Using where、Using index 执行情况说明
其他查询语句:
Mysql> show variables like "%log%";
Mysql> show variables like "%long%" // 慢查询设置的时间
set global slow_query_log='ON'; 启用慢查询;
set global long_query_time=4;
Mysql 语句优化的更多相关文章
- php代码优化,mysql语句优化,面试需要用到的
首先说个问题,就是这些所谓的优化其实代码标准化的建议,其实真算不上什么正真意义上的优化,还有一点需要指出的为了一丁点的性能优化,甚至在代码上的在一次请求上性能提升万分之一的所谓就去大面积改变代码习惯, ...
- MySql基础笔记(二)Mysql语句优化---索引
Mysql语句优化--索引 一.开始优化前的准备 一)explain语句 当MySql要执行一个查询语句的时候,它首先会对语句进行语法检查,然后生成一个QEP(Query Execution Plan ...
- Mysql语句优化
总结总结自己犯过的错,网上说的与自己的Mysql语句优化的想法. 1.查询数据库的语句的字段,尽量做到用多少写多少. 2.建索引,确保查询速度. 3.orm框架自带的方法会损耗一部分性能,这个性能应该 ...
- mysql语句优化原则
有时候发现数据量大的时候查询起来效率就比较慢了,学习一下mysql语句优化的原则,自己在正常写sql的时候还没注意到这些,先记录下来,慢慢一点一点的学,加油! 这几篇博客写的都可以: https:// ...
- mysql语句优化总结(一)
Sql语句优化和索引 1.Innerjoin和左连接,右连接,子查询 A. inner join内连接也叫等值连接是,left/rightjoin是外连接. SELECT A.id,A.nam ...
- Mysql 语句优化技巧
前言 有人反馈之前几篇文章过于理论缺少实际操作细节,这篇文章就多一些可操作性的内容吧. 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础. 优化目标 ...
- mysql语句优化方案(网上流传)
关于mysql处理百万级以上的数据时如何提高其查询速度的方法 最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法. 由于在参与的实际项目中发现当mysql表的数 ...
- Mysql语句优化建议
一.建立索引 1)考虑在 where 及 order by 涉及的列上建立索引 2)对于模糊查询, 建立全文索引 3)对于多主键查询,建立组合索引 二.避免陷阱 然而,一些情况下可能使索引无效: 1) ...
- MySQL语句优化方法(简单版)
基础回顾: sql语句是怎么样运行的? 一般来说,客户端发送sql语句到数据库服务器——数据库服务器进行运算并返回结果——客户端显示sql语句运行结果. 在本地运行时以workbench为例,客户端为 ...
随机推荐
- uva11300 分金币(中位数)
来源:https://vjudge.net/problem/UVA-11300 题意: 有n个人围成一圈,每个人有一定数量的金币,每次只能挪动一个位置,求挪动的最少金币使他们平分金币 题解: 蓝书p6 ...
- B. Switches and Lamps
链接 [https://codeforces.com/contest/985/problem/B] 题意 给你n,m,分别是n个开关,m个灯 给一个n*m的字符矩阵aij=1,表示i可以控制j这个灯 ...
- [2018福大至诚软工助教]UML设计小结
[2018福大至诚软工助教]UML设计小结 一.得分 总分(50分) 团队信息 (4分) 队名 (1分) 团队成员的学号与姓名(需要标注队长)(1分) 本次作业的博客链接(1分) 三者完全,4分 团队 ...
- python三数之和
给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组. 注意:答案中不可以包含重复的三元组. ...
- JVM原理分析
1 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,是通过在实际的计算机上仿真模拟各种计算机功能来实现的.由一套字节码指令集.一组寄存器.一个栈.一个垃圾回收 ...
- PS调出最美海滨城市俯拍照
原图 一.找一张漂亮的风景照片,美丽的海滩. 二.打开PS做效果把图片放进去然后ctrl+j复制一层,添加滤镜-模糊-特殊模糊. 三.然后在这个图层的基础上添加滤镜-滤镜库-干画笔效果. 四.这个时候 ...
- anaconda 出现add 。。。进不去
找到.condarc 文件 C:\Users\leiyi内 把里面内容替换为 channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk ...
- 搭建RISC-V错误记录
错误:riscv64-unknown-elf-gcc: Command not found 解决办法:将riscv64-unknown-elf-gcc文件拷贝到根目录的/bin目录下. 原因是make ...
- FAIL - Deploy Upload Failed, Exception: [org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (112503036) exceeds the configured
Message: FAIL - Deploy Upload Failed, Exception: [org.apache.tomcat.util.http.fileupload.FileUpload ...
- react 路由4 学习
表单控件 受控表单组件 非受控的表单组件 demo:收集表单提交的数据 路由(V4) 特点:一切皆是组件 官网:https://reacttraining.com/react-router/ npm ...