位置: 编程技术 - 正文

mysql explain的用法(使用explain优化查询语句)

编辑:rootadmin

推荐整理分享mysql explain的用法(使用explain优化查询语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

首先我来给一个简单的例子,然后再来解释explain列的信息。

表一:catefory 文章分类表:

表二:article文章表:

执行explain:

得到结果:

mysql explain的用法(使用explain优化查询语句)

EXPLAIN列的解释:

id:选定的执行计划中查询的序列号。表示查询中执行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:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、index和ALLall: full table scan ;mysql将遍历全表以找到匹配的行;index : index scan; index 和 all的区别在于index类型只遍历索引;range:索引范围扫描,对索引的扫描开始于某一点,返回匹配值的行,常见与between ,< ,>等查询;ref:非唯一性索引扫描,返回匹配某个单独值的所有行,常见于使用非唯一索引即唯一索引的非唯一前缀进行查找;eq_ref:唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配,常用于主键或者唯一索引扫描;const,system:当mysql对某查询某部分进行优化,并转为一个常量时,使用这些访问类型。如果将主键置于where列表中,mysql就能将该查询转化为一个常量。possible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语句key: 实际使用的索引。如果为NULL,则没有使用索引。很少的情况下,MYSQL会选择优化不足的索引。这种情况下,可以在SELECT语句中使用USE INDEX(indexname)来强制使用一个索引或者用IGNORE INDEX(indexname)来强制MYSQL忽略索引key_len:使用的索引的长度。在不损失精确性的情况下,长度越短越好ref:显示索引的哪一列被使用了,如果可能的话,是一个常数rows:MYSQL认为必须检查的用来返回请求数据的行数Extra:关于MYSQL如何解析查询的额外信息。将在表4.3中讨论,但这里可以看到的坏的例子是Using temporary和Using filesort,意思MYSQL根本不能使用索引,结果是检索会很慢。因为真正的优化会考虑到大数据,我会在后面写更详细的优化教程,今天累了!分享一个详细的mysql explain语法及使用教程(Mysql_Explain_语法详细解析.pdf)!

mysql优化利器之explain使用介绍 一、语法{EXPLAIN|DESCRIBE|DESC}tbl_name[col_name|wild]{EXPLAIN|DESCRIBE|DESC}[explain_type]SELECTselect_optionsexplain_type:{EXTENDED|PARTITIONS}二、数据库准备表一:DROPTABLEIFEXISTS`pro

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

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

标签: mysql explain的用法(使用explain优化查询语句)

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

上一篇:MySQL索引操作命令详解(mysql索引命令)

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

  • 累计净值包含业务收入吗
  • 滴滴能出票吗
  • 工程服务增值税税率1%
  • 核定征收的小规模企业所得税B表收入总额含税吗
  • 房地产企业回迁房增值税
  • 小规模纳税申报时间
  • 个人以房产进行交易
  • 财政部颁布的具体准则
  • 现金折扣在买方还是卖方
  • 城市生活垃圾处理收费管理办法
  • 销售货物的运费增值税计入什么科目
  • 没有留抵税用进项抵扣滞纳金可以吗?
  • 发票勾选平台显示不成功
  • 不具有法人资格的企业形式
  • 个税返还怎样申请退税
  • 进项税额忘了抵扣
  • 安全生产费用包含哪些
  • 公司开一般户弊端
  • Linux如何给文件赋予内容
  • office自定义功能区
  • win11怎么取消开机启动项
  • win10专业版19042.630
  • php中substr()
  • linux i
  • 商业会计结转成本
  • linux系统用法
  • echarts饼图背景图片
  • Kamikōchi, Nagano Prefecture, Japan (© sadao/Shutterstock)
  • 应付股利的会计分录T
  • 辞退补偿款怎么算
  • 出口退税是怎么个流程
  • laravel框架的优缺点
  • 山上覆盖着皑皑白雪
  • vue思维导图怎么下载
  • 建行E信通贴现需要什么资料
  • 休产假期间社保个人部分怎么办
  • python语言接收信息的内置函数
  • 一般纳税人企业所得税5%还是25%
  • 理财收益 投资收益
  • 税务法是否允许私人经营
  • 租赁公司车转到私人名下
  • 收到发票未抵扣增值税
  • 视同销售是填在申报表的哪一栏?
  • 住宿发票规格型号一栏写什么
  • 电子发票额度余额怎么查
  • mysql语句性能优化
  • 公司优秀党员奖章
  • 对于在某一时点履行的履约义务,企业应当在客户
  • 应付职工薪酬中社保费怎么记账
  • 销售固定资产如何申报企业所得税
  • 购买金税盘的费用会计分录
  • 新收入准则按照期间确认收入
  • 备用金发工资到底可不可以?
  • 公司卖废品收入要交增值税
  • 缴纳工会经费的依据
  • 残次品销售计入什么科目
  • 所有进项增值税怎么申报
  • 资产减值损失的账务处理
  • 消费满赠送活动规则
  • 企业向员工收取费用
  • Win7/Win8.1/Win10的UAC对话框“是”点不了的原因及解决方法
  • win7开机提示重启怎么办
  • secondoption是什么意思
  • windows 8
  • 怎么更改电脑键盘语言
  • 在linux操作系统中,/etc/rc.d/init.d
  • unity怎么bake
  • 解决出现的问题下一句,欢迎的语气
  • My Magic Android Tour —— 处女作
  • js的select
  • 批处理系统的进程调度算法
  • JavaScript中的this指向
  • js 进阶
  • python的例子
  • javascript编写
  • python写脚本教程
  • 发票查验平台可以查询自己给对方开的发票吗?
  • 国税补录信息怎么查询
  • 国地税合并人员瘦身
  • 党和国家为什么重视三农问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设