位置: 编程技术 - 正文

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优化十大技巧)

  • 土地增值税要计增值税吗
  • 生产经营所得个人所得税怎么申报
  • 小规模纳税人应纳增值税额的计算
  • 土地出让金印花税计税依据
  • 年度纳税申报表A105000纳税调整项目明细表中,收入
  • 关税税收优惠记忆口诀
  • 运输发票抵扣联丢了
  • 微信支付算库存现金还是银行存款
  • 要约收购期满
  • 公转私可以实时到账吗
  • 行政单位上年度费用做多了怎么调整成本
  • 企业所得税不征税收入
  • 汽车4s店索赔和维修
  • 税务登记法人变更后多久生效
  • 公允价值变动是减值吗
  • 包装设置图片
  • 可供出售金融资产改为什么科目
  • 报销数字证书续费作财务凭证怎么做?
  • 企业财务会计制度范本
  • 试车要给钱吗
  • 减免的土地出让金销项税额可以抵减吗
  • 退税发票勾选后增值税附表二
  • 收到股息红利免征增值税
  • 培训费发票如何入账
  • 公司帮员工买的保险
  • 母公司并购子公司需要股东会决议吗
  • 展会展位费发票税率
  • 转让知识产权的本人申明
  • 冲上年收入会计分录
  • 财务报告成本
  • 职工社保调整
  • macos连接wifi无法上网
  • 销售多余材料的收入会计分录
  • 公司出租房屋怎样开发票的税务局率?
  • 代理买卖证券款属于什么科目
  • 为什么微信转账不成功
  • 投资收益是否缴增值税
  • 有限责任公司股东向股东以外的人转让股权
  • 前端埋点sdk
  • 其他业务收入是什么意思
  • 基于Python实现五大常用分类算法(原理+代码)
  • 本月损益类未结转为零的一级科目
  • 逾期增值税扣税凭证抵扣管理办法
  • vue懒加载机构树刷新
  • 工程结算 增值税
  • 工会经费是什么凭证
  • 个体工商户开票是企业还是个人
  • 营业外收入在现金流量表中填入哪列
  • 税负率包含哪些税种
  • 政府购买服务交流发言材料
  • 以前年度损益调整结转到本年利润吗
  • 资产负债表中利息收入填在哪
  • sqlserver修改数据库密码
  • 抵扣的进项税如何做账
  • 中级会计职称与中级会计师的区别
  • 收到发票冲红怎么做分录
  • 出租使用权什么意思
  • 工会经费滞纳金怎么算
  • 应交增值税进项税额月底怎么处理
  • 金蝶的数量金额明细账是怎么做的
  • 开给个人的普通增值税
  • 资产负债率比率
  • 工会经费怎么申报,怎么上交?
  • 电脑总是提示windows启动怎么办
  • windows7创建新桌面
  • winxp系统控制面板
  • linux怎么调整屏幕大小
  • win10系统打开图片内存忽大忽小
  • linux系统中的脚本文件一般以什么开头
  • rapapp.exe - rapapp是什么进程 有何作用
  • win10文件夹右上角搜索不能用
  • linux入门很简单
  • Android 中的guideline
  • perl调试
  • css中如何设置图片大小
  • 使用灭火器人要站在上风口还是下风口
  • jquery实现移动端
  • js function.call
  • jquery和css的区别
  • 税控盘时间不对有影响吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设