位置: 编程技术 - 正文

mysql优化利器之explain使用介绍(mysql优化十大技巧)

编辑:rootadmin

推荐整理分享mysql优化利器之explain使用介绍(mysql优化十大技巧),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql优化总结,mysql优化实战,mysql优化十大技巧,mysql优化的几种方法,mysql优化总结,mysql优化教程,mysql 优化口诀,mysql 优化口诀,内容如对您有帮助,希望把文章链接给更多的朋友!

一、语法

二、数据库准备

表一:

表二:

三、关于explain选项

下面是一个实例:

id

MySQL Query Optimizer选定的执行计划中查询的序列号。表示查询中执行select子句或操作表的顺序,id值越大优先级越高,越先被执行。id相同,执行顺序由上至下

select_type

1、SIMPLE:简单的select查询,不使用union及子查询2、PRIMARY:最外层的select查询3、UNION:UNION中的第二个或随后的select查询,不依赖于外部查询的结果集4、DEPENDENT UNION:UNION中的第二个或随后的select查询,依赖于外部查询的结果集5、UNION RESULT: UNION查询的结果集SUBQUERY子查询中的第一个select查询,不依赖于外部查询的结果集6、DEPENDENT SUBQUERY:子查询中的第一个select查询,依赖于外部查询的结果集DERIVED用于from子句里有子查询的情况。 MySQL会递归执行这些子查询,把结果放在临时表里。7、UNCACHEABLE SUBQUERY:结果集不能被缓存的子查询,必须重新为外层查询的每一行进行评估8、UNCACHEABLE UNION:UNION中的第二个或随后的select查询,属于不可缓存的子查询

table

mysql优化利器之explain使用介绍(mysql优化十大技巧)

1、system:表仅有一行(系统表)。这是const连接类型的一个特例。2、const:const用于用常数值比较PRIMARY KEY时。当查询的表仅有一行时,使用system。3、eq_ref:除const类型外最好的可能实现的连接类型。它用在一个索引的所有部分被连接使用并且索引是UNIQUE或PRIMARY KEY, 对于每个索引键,表中只有一条记录与之匹配。4、ref:连接不能基于关键字选择单个行,可能查找到多个符合条件的行。叫做ref是因为索引要跟某个参考值相比较。 这个参考值或者是一个常数,或者是来自一个表里的多表查询的结果值。5、ref_or_null:如同ref,但是MySQL必须在初次查找的结果里找出null条目,然后进行二次查找。6、index_merge:说明索引合并优化被使用了。7、unique_subquery:在某些IN查询中使用此种类型,而不是常规的ref: value IN (SELECT primary_key FROM single_table WHERE some_expr) index_subquery在某些IN查询中使用此种类型,与unique_subquery类似,但是查询的是非唯一性索引: value IN (SELECT key_column FROM single_table WHERE some_expr)8、range:只检索给定范围的行,使用一个索引来选择行。key列显示使用了哪个索引。 当使用=、<>、>、>=、<、<=、IS NULL、<=>、BETWEEN或者IN操作符,用常量比较关键字列时,可以使用range。9、index:全表扫描,只是扫描表的时候按照索引次序进行而不是行。主要优点就是避免了排序,但是开销仍然非常大。、all:最坏的情况,从头到尾全表扫描

others

possible_keys:指出mysql能在该表中使用哪些索引有助于查询。如果为空,说明没有可用的索引key:mysql实际从possible_key选择使用的索引。如果为null,则没有使用索引。 很少的情况下,mysql会选择优化不足的索引。这种情况下, 可以在select语句中使用use index(indexname)来强制使用一个索引 或者用ignore index(indexname)来强制mysql忽略索引key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好ref:显示索引的哪一列被使用了rows:mysql认为必须检查的用来返回请求数据的行数

extra

1、Distinct: 一旦mysql找到了与行相联合匹配的行,就不再搜索了。2、Not exists: mysql 优化了LEFT JOIN,一旦它找到了匹配LEFT JOIN标准的行,就不再搜索了。3、Range checked for each: Record(index map:#)没有找到理想的索引, 因此对于从前面表中来的每一个行组合,mysql检查使用哪个索引,并用它来从表中返回行。这是使用索引的最慢的连接之一。4、Using filesort: 表示MySQL会对结果使用一个外部索引排序,而不是从表里按索引次序读到相关内容。 可能在内存或者磁盘上进行排序。MySQL中无法利用索引完成的排序操作称为“文件排序”。5、Using index: 列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的, 这发生在对表的全部的请求列都是同一个索引的部分的时候。6、Using temporary: mysql需要创建一个临时表来存储结果,这通常发生在对不同的列集进行ORDER BY上,而不是GROUP BY上。7、Using where: 使用了WHERE从句来限制哪些行将与下一张表匹配或者是返回给用户。 如果不想返回表中的全部行,并且连接类型ALL或index,这就会发生,或者是查询有问题。

四、具体的实例

1、mysql版本

2、sql语句分析1

3、sql语句分析2

4、sql语句分析3

5、sql语句分析4

完成

MySQL启用慢查询日志记录方法 在MySQL中,慢查询的界定时间是由MySQL内置参数变量long_query_time来指定的,其默认值为(单位:秒),我们可以通过showvariableslike'long_query_time';指令来查看

MySQL使用show status查看MySQL服务器状态信息 在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL

MySQL闪回(flashback)原理与实战 DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sq

标签: mysql优化十大技巧

本文链接地址:https://www.jiuchutong.com/biancheng/349886.html 转载请保留说明!

上一篇:mysql explain的用法(使用explain优化查询语句)

下一篇:MySQL启用慢查询日志记录方法(mysql查询慢sql命令)

  • 增值税纳税人是委托方还是受托方
  • 研发费用加计扣除是什么意思啊
  • 银行预留印鉴是公章还是财务章
  • 企业所得税上个月没有计提本月怎么计提
  • 递延所得税资产是什么
  • 个人所得税报税孩子的夫妻双方都报吗
  • 房地产企业购入用于建造商品房的土地使用权
  • 工业企业所得税优惠政策
  • 合并财务报表内部交易对净利润影响
  • 物流企业信用评级
  • 购置税发票如何下载
  • 生产车间用电产品有哪些
  • 缓缴税款到期缴纳填主表第几行
  • 固定资产原价的结余额
  • 电商平台退货退款流程图
  • 房地产预收账款是什么
  • 法人转账到开户行的会计分录怎么做?
  • 公司购买的绿植普票怎么抵扣
  • 租赁费交税税率是多少
  • 海关增值税抵扣是全额抵扣所得税
  • 增值税减税措施有哪些
  • 银行手续费会开发票吗
  • php操作json文件
  • 缴税怎么入账
  • bug is
  • 电脑fs0是什么
  • 预支员工报销费用会计科目
  • 预售商品房转让合同
  • 出售报废边角料税率
  • 库存商品转在建工程 增值税
  • php xml转数组
  • php qrcode生成二维码
  • 加计扣除农产品进项税额是什么意思
  • ros机器人自主导航中膨胀地图图层的颜色
  • 玩转ChatGPT:中科院ChatGPT Academic项目部署与测评
  • Laravel 5.3 学习笔记之 配置
  • 存货盘盈盘亏的会计处理
  • 利润表用处
  • 资产支出加权平均数例题
  • 代收代付业务需要开发票吗
  • 企业发生待摊费会计分录
  • 微擎框架是开源的吗
  • dedecms 收费
  • 总结帝国cms内容是什么
  • 累计盈余需要设置明细科目吗
  • 生产型企业如何退税
  • 电子发票该怎么打印出来
  • 个人独资企业所得税申报流程
  • 企业支付的一次性就业补助金
  • 代扣代缴增值税如何申报抵扣
  • 公司账户转到公司账户要多久
  • 凭证摘要写错了已结账了怎么办
  • 滞纳金比例多少
  • 非居民企业所得税征收方式鉴定表
  • 公司法人往来款账务处理
  • 赔偿给别人的钱还能要回来吗
  • 未开票收入怎么填写增值税申报表
  • 进入四大会计师事务所怎么样
  • office技术预览版和增强版
  • w10专业版最新版本
  • win10系统打不开控制面板
  • slpv24s.exe - slpv24s是什么进程
  • win8.1怎么设置
  • win10预览文件怎么显示内容
  • j-v测试
  • android项目打包成jar包
  • unity 2Dtoolkit 插件创建中文字体
  • python ar
  • linux命令统计
  • js数组添加元素的方法
  • js类的实现
  • javascript设置字体
  • python django运行
  • js代码测试工具
  • 江苏国家电子税务局网站
  • 怎么看上期留抵税额
  • 纳税人分类分级管理四个匹配
  • 建安企业异地个税怎么交
  • 从价计征和从租计征的区别,有什么优缺点
  • 河南省城市规划法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设