首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
timeout
smtp
cron
transform
service
phpmyadmin
缓存
队列
cSharp
cPlusPlus
pymongo
syslog
cpython
openssl
pipeline
爬虫
ci
http
gcc
jvm
http2
压力测试
wordpress
queue
cookies
python
go
cookie
iis
x86
api
stdout
grpc
php水印
mysql
static
java
sms
session
yii
spring
curl
timezone
laravel
php绘图
webserver
caching
uuid
package
touch
thinkphp
rabbitmq
hashmap
并发
yaf
上传
注入
memcache
pip
struct
swoole
正则
php5
sockets
pdo
web3
tengine
nginx
webhooks
织梦cms
vb
frontend
h2
pipe
lvs
token
ffmpeg
gzip
log4j
当前位置:
开发笔记
>
后端
> 正文
精通mysql之精通EXPLAIN_MySQL
作者:mobiledu2502939211 | 来源:互联网 | 2018-04-11 15:35
精通mysql之精通EXPLAIN
MySQLexplain bitsCN.com
EXPLAIN列的解释:
table:显示这一行的数据是关于哪张表的
type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALL
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根本不能使用索引,结果是检索会很慢
extra列返回的描述的意义
Distinct:一旦MYSQL找到了与行相联合匹配的行,就不再搜索了
Not exists: MYSQL优化了LEFT JOIN,一旦它找到了匹配LEFT JOIN标准的行,就不再搜索了
Range checked for each Record(index map:#):没有找到理想的索引,因此对于从前面表中来的每一个行组合,MYSQL检查使用哪个索引,并用它来从表中返回行。这是使用索引的最慢的连接之一
Using filesort: 看到这个的时候,查询就需要优化了。MYSQL需要进行额外的步骤来发现如何对返回的行排序。它根据连接类型以及存储排序键值和匹配条件的全部行的行指针来排序全部行
Using index: 列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候
Using temporary 看到这个的时候,查询需要优化了。这里,MYSQL需要创建一个临时表来存储结果,这通常发生在对不同的列集进行ORDER BY上,而不是GROUP BY上
Where used 使用了WHERE从句来限制哪些行将与下一张表匹配或者是返回给用户。如果不想返回表中的全部行,并且连接类型ALL或index,这就会发生,或者是查询有问题不同连接类型的解释(按照效率高低的顺序排序)
system 表只有一行:system表。这是const连接类型的特殊情况
const:表中的一个记录的最大值能够匹配这个查询(索引可以是主键或惟一索引)。因为只有一行,这个值实际就是常数,因为MYSQL先读这个值然后把它当做常数来对待
eq_ref:在连接中,MYSQL在查询时,从前面的表中,对每一个记录的联合都从表中读取一个记录,它在查询使用了索引为主键或惟一键的全部时使用
ref:这个连接类型只有在查询使用了不是惟一或主键的键或者是这些类型的部分(比如,利用最左边前缀)时发生。对于之前的表的每一个行联合,全部记录都将从表中读出。这个类型严重依赖于根据索引匹配的记录多少—越少越好
range:这个连接类型使用索引返回一个范围中的行,比如使用>或<查找东西时发生的情况
index: 这个连接类型对前面的表中的每一个记录联合进行完全扫描(比ALL更好,因为索引一般小于表数据)
ALL:这个连接类型对于前面的每一个记录联合进行完全扫描,这一般比较糟糕,应该尽量避免
bitsCN.com
mysql
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
python
Java实战之电影在线观看系统的实现
本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ...
[详细]
蜡笔小新 2023-12-14 15:52:03
python
PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ...
[详细]
蜡笔小新 2023-12-14 15:30:33
python
Hibernate基础映射
在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ...
[详细]
蜡笔小新 2023-12-14 10:57:47
python
SpringBoot集成前端模版(thymeleaf)的配置步骤
本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ...
[详细]
蜡笔小新 2023-12-14 10:11:46
python
MysqlDump_mysqldump全库备份相关知识详解
本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ...
[详细]
蜡笔小新 2023-12-14 10:03:27
python
PHP中的MySQL函数库及其常用函数介绍
本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ...
[详细]
蜡笔小新 2023-12-14 08:19:53
service
Spring特性实现接口多类的动态调用详解
本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ...
[详细]
蜡笔小新 2023-12-14 03:24:19
service
数据库知识集合
数据库(外键及其约束理解)(https:www.cnblogs.comchenxiaoheip6909318.html)My ...
[详细]
蜡笔小新 2023-12-13 19:24:01
service
高校天文共享平台开发过程中的思考与规划
本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ...
[详细]
蜡笔小新 2023-12-13 18:08:58
http
解决Mac上无法使用localhost连接mysql的问题
本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ...
[详细]
蜡笔小新 2023-12-13 17:48:58
http
yum安装_Redis —yum安装全过程
篇首语:本文由编程笔记#小编为大家整理,主要介绍了Redis—yum安装全过程相关的知识,希望对你有一定的参考价值。访问https://redi ...
[详细]
蜡笔小新 2023-12-13 17:27:43
http
解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ...
[详细]
蜡笔小新 2023-12-13 16:31:57
x86
phpBB安装环境配置及如何搭建php环境
本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ...
[详细]
蜡笔小新 2023-12-13 13:33:01
x86
如何查看mysql的安装路径
本文介绍了通过mysql命令查看mysql的安装路径的方法,提供了相应的sql语句,并希望对读者有参考价值。 ...
[详细]
蜡笔小新 2023-12-13 13:23:09
http
MySQL表分区的创建、增加和删除方法详解
本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ...
[详细]
蜡笔小新 2023-12-13 12:26:11
mobiledu2502939211
这个家伙很懒,什么也没留下!
Tags | 热门标签
timeout
smtp
cron
transform
service
phpmyadmin
缓存
队列
cSharp
cPlusPlus
pymongo
syslog
cpython
openssl
pipeline
爬虫
ci
http
gcc
jvm
http2
压力测试
wordpress
queue
cookies
python
go
cookie
iis
x86
RankList | 热门文章
1
自定义mybatis拦截器
2
video标签播放长的mp4文件的问题
3
Sublime Emmet 插件安装教程 Tab 快捷键无法使用问题解决
4
大白菜装机教程win10_装机吧教你没有光盘的情况下:如何重装系统
5
spring项目中target项目是什么‘’_手把手教你搭建一个SSM项目
6
一周信创舆情观察(7.13~7.19)
7
美国福克斯新闻泄露1300万条敏感数据,互联网用户可随时访问
8
天猫双十一狂抢优惠券?机智的程序猿这么玩
9
亿级查询nosql,查询百万级数据
10
《绿萝》翻译 原文赏析诗人唐杜牧
11
炉石电脑客户端多大(炉石传说电脑版多大内存)
12
捕获异常时的执行顺序需要注意的一点
13
JS时间格式与时间戳的相互转换
14
对于活动运营来说,活动的前期预热,怎样更好地通过以老带新的形式加速活动的传播?
15
Android 动态申请文件读写权限
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有