explain会看到的信息共有10个字段,下面讲逐一讲解这10个字段,我经常看的的是id,type,rows这几个 1、id 表示查询中执行select子句或操作表的顺序,id执行顺序从大到小,即id越大越先被执行,如果id相同,则从上到下
2、select_type 表示查询中每个select子句的类型(简单 OR 复杂) (1)、SIMPLE:查询中不包含子查询或者UNION (2)、查询中若包含任何复杂的子部分,最外层查询则被标记为:PRIMARY (3)、在SELECT或WHERE列表中包含了子查询,该子查询被标记为:SUBQUERY (4)、在FROM列表中包含的子查询被标记为:DERIVED(衍生) (5)、若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在 FROM子句的子查询中,外层SELECT将被标记为:DERIVED (6)、从UNION表获取结果的SELECT被标记为:UNION RESULT 阿里有一篇select_type的详解文章https://yq.aliyun.com/articles/61934 3、type 这是优化的一个重要的参考参数或者指标,表示MySQL在表中找到所需行的方式,又称“访问类型” 常见的类型有
性能指标从低到高,最后的性能最优。 网上有一个比较全面的指标排序 system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL , 一般来说,得保证查询至少达到range级别,最好能达到ref,至少达到range。 (1)、ALL: 扫描全表,将进行全表扫描来查找所需数据,性能最差 (2)、index: 扫描全部索引树,与ALL区别为index类型只遍历索引树 (3)、range: 扫描部分索引,索引范围扫描,对索引的扫描开始于某一点,返回匹配值域的行,常见于between、<、>等的查询 (4)、ref: 非唯一性索引扫描,返回匹配某个单独值的所有行。常见于使用非唯一索引即唯一索引的非唯一前缀进行的查找 (5)、eq_ref:唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配。常见于主键或唯一索引扫描 (6)、const, system: 当MySQL对查询某部分进行优化,并转换为一个常量时,使用这些类型访问。如将主键置于where列表中,MySQL就能将该查询转换为一个常量。system是const类型的特例,当查询的表只有一行的情况下, 使用system。 (7)、NULL: MySQL在优化过程中分解语句,执行时甚至不用访问表或索引。 4、possible_keys 指出MySQL能使用哪个索引在该表中找到行。查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用。如果是空的,没有相关的索引。这时要提高性能,可通过检验WHERE子句,看是否引用某些字段,或者检查字段不是适合索引。 有一篇优化实例:http://blog.csdn.net/gongmf/article/details/52298802 5、key 显示MySQL在查询中实际使用的索引,若没有使用索引,显示为NULL TIPS:查询中若使用了覆盖索引,则该索引仅出现在key列表中 6、key_len 显示MySQL决定使用的键长度。表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。如果键是NULL,长度就是NULL。文档提示特别注意这个值可以得出一个多重主键里mysql实际使用了哪一部分。 注:key_len显示的值为索引字段的最大可能长度,并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的。 key_len计算的一篇文章:http://blog.csdn.net/blakeFez/article/details/49871165 7、ref :表示上述表的连接匹配条件,即哪些列或常量被用于查找索引列上的值 对于每个来自于前面的表的行组合,所有有匹配索引值的行将从这张表中读取。如果联接只使用键的最左边的前缀,或如果键不是UNIQUE或PRIMARY KEY(换句话说,如果联接不能基于关键字选择单个行的话),则使用ref。如果使用的键仅仅匹配少量行,该联接类型是不错的。 ref可以用于使用=或<=>操作符的带索引的列。 8、rows :这个数表示mysql要遍历多少数据才能找到,表示MySQL根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数,而不是查找到结果的行数 9、Extra :包含不适合在其他列中显示但十分重要的额外信息。 Only index,这意味着信息只用索引树中的信息检索出的,这比扫描整个表要快。 using where是使用上了where限制,表示MySQL服务器在存储引擎受到记录后进行“后过滤”(Post-filter),如果查询未能使用索引,Using where的作用只是提醒我们MySQL将用where子句来过滤结果集。 impossible where 表示用不着where,一般就是没查出来啥。 Using filesort(MySQL中无法利用索引完成的排序操作称为“文件排序”)当我们试图对一个没有索引的字段进行排序时,就是filesoft。它跟文件没有任何关系,实际上是内部的一个快速排序。 Using temporary(表示MySQL需要使用临时表来存储结果集,常见于排序和分组查询),使用filesort和temporary的话会很吃力,WHERE和ORDER BY的索引经常无法兼顾,如果按照WHERE来确定索引,那么在ORDER BY时,就必然会引起Using filesort,这就要看是先过滤再排序划算,还是先排序再过滤划算。
查看原文:http://www.architecy.com/archives/269
Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装。 如果单独安装gcc以及g++比较麻烦,幸运的是,为了能够编译Ubuntu的内核,Ubuntu提供了一个build-essential软件包。 查看该软件包的依赖关系,可以看到以下内容: $ apt-cache depends build-essential build-
Python之使用adb shell命令启动应用的方法详解一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具有局限性,尤其是ID的内容不便于区分具有重复性时,后面又发现Uiautomator可以对resorceId、text、packageName等元素进行定位,也找到了xiaochong这位大神关于uiau...
从经济效益出发选取8个指标,利用主成分分析法对选取指标进行分析,利用Matlab软件对14家机械制造企业的经济效益进行了计算和排名,为黑龙江省今后实现企业间经济发展协调......II. 主成分分析法(PCA)推导一、主成分的导出 根据主成分分析的数学模型的定...主成分分析和MATLAB应用_IT/计算机_专业资料。主成分分析 matlab 主成分分析 类型:一种处理高维数据的方法。 降维思想:...
网上的非常多解释……非常难理解……情景描写叙述:在代码中,写了A\B两个文件,A:是.c文件,B是.h文件和.c文件。在A中包括了B.h文件。在B.h文件里声明了A中定义的变量。这样编译的情况下就会出现error: conflicting type qualifiers for 'XXXX"的编译错误。解决的方法:将在B.h中声明的外部变量移到B.c中。这样...
展开全部xml结构本方案用来解决XML根据父节点的属性得到指定子节点的属性的值需要的jar包:jar包本方案的xml结构为以下格式62616964757a686964616fe58685e5aeb931333431366338:看图packagecom.itqingyou.xml;importjava.io.IOException;importjava.io.InputStream;impo...
通常家里的ip在国内百分之九十九是内网的ip的。通常只有服务器才会是这个公网的ip,因为公网的ip,内网的电脑可以访问,反过来是不可以的。公网ip是唯一的,但是内网地址你家是192.168..1.23,那么邻居家也可以是的。内网地址的访问是:A类:10.0.0.0~10.255.255.255,B类:172.16.0.0,~172.31.255.255,C类:192.168.0.0.~192.168.255.255.最简单的直接上canyouseeme.org,查一下自己映射的端口……显示成功就是公网i
web常见漏洞
在源代码的里面有fbx格式的模型文件,发现有2个文件,一个是骨骼动画文件,可以分割为多个动画片段,还有一个是模型文件,但是没有动画,但是可以导入分割好的动画片段到动画元素里面,按照下面的说明,分割了4个作为例子,用----Unity 2021.3.0f1c1------重新编译运行成功,Unity3DRPG角色扮演游戏源码(上下)-----源代码分析----01-----主角人物动画-Unity3D文档类资源-CSDN下载New Unity Project 24\As..
#includeint main(){ int i,d,n; scanf("%d",&n); for(i=1;i { for(d=n;d>i;d--) { printf(" "); } for(d=1;d {
文章目录01-SpringBoot高级02-SpringBoot自动配置-Condition-103-SpringBoot自动配置-Condition-204-SpringBoot自动配置-切换内置web服务器05-SpringBoot自动配置-Enable注解原理06-SpringBoot自动配置[email protected]详解07-SpringBoot自动配置[email protected]详解08-SpringBoot自动配置-自定义starter步骤分析09-SpringBoot自动配置-自定
单击“开始”按钮,并在搜索条中输入“cmd”,右键单击结果选择“以管理员身份运行”。在打开的“管理员:命令提示符”窗口中输入以下:cd /d %userprofile%\AppData\Localattrib –h IconCache.dbdel IconCache.dbstart explorer最后结束explorer进程,重启就好了。转载地址
一般Windows登录的都是管理员,效果和sa一样1.创建登录(login)/在哪数据库下无所谓/create login p1 with password ='1' /* 登录名 密码*/create login p2 with password ='1' /* 登录名 密码*/create login p3 with password ='1' /* 登录名 密码*/create l...