ES6结尾——sql查询分析补一下

一、背景

关于ES6与JS呢,咱们已经谈了不少了,其实之前讲的关于ES6的东西,还有更多有魅力的东西,笔者能力有限,在这里跟大家说抱歉啦。ES6也还有更多的知识,今天在这里跟大家说一下。

之前sql查询的explain分析还剩最后一列没跟大家说,今天在这里也给大家结一下。

二、核心内容

1.sql查询分析——extra扩展字段解析

主要包含不适合在其他列中显示但十分重要的额外信息。

① using filesort:产生了文件内排序。影响sql运行速度。属于坏的情况

② using temporary:使用了临时表保存中间结果。影响sql运行速度。常见于含有order by排序中和group by分组的sql中。属于坏的情况

③ using index:表示相应的select操作使用了覆盖索引。影响sql运行速度,属于好的情况。

这种情况包含以下两种可能:

1.有“using where”:表示索引被用来执行索引键值的查找。

2.没有“using where”:表示索引用来读取数据而非执行查找。

关于覆盖索引:select数据列只用从索引中就能取得,不必读取数据行(顾名思义查询的行被索引覆盖。速度非常快,因为索引是在内存中,不需要读磁盘IO)

上面三种情况在扩展字段中较为重要,以下几种也是可能的值,但是相对不重要。

④ using where ⑤ using join buffer

⑥ impossible where:where子句中包含值总是为false的条件,不能用来获取元组(简单说:where条件永远为错)

⑦ select tables optimized away ⑧ distinct等等。细节性问题大家自行学习哈

索引分析sql的一些技巧:

1.单表查询中:对经常查询字段添加索引构成覆盖索引,显著提高查询速度。

2.多表关联中:一般给表的外键添加为索引。在连接查询中,例如:左连接查询索引外键则加在右表上(相反加)。而有时候发现给外键加了索引,索引也没有生效,这时问题有可能出在连接顺序上,只需改变连接顺序即可。

2.关于ES6与JS还有几个对象想跟大家说一声主要是如下几个:

1.数组对象:定义[]

2.map对象:定义new Map()

3.set对象:定义new Set()

。。。

可以看出JS真的是在慢慢向java靠拢,而关于这些新的对象的使用与java中也基本类似,只是在JS中操作会比java中更简单一点。推荐大家学习这几个东西去微软官方API中学习,讲的非常详细。地址如下:

https://msdn.microsoft.com/zh-cn/library/htbw4ywd(v=vs.94).aspx

关于js中API的使用,如果忘记可以去这里面查询。

三、总结

关于ES6与JS的一些日常用法,今天就算暂时说完啦。关于编程序最好的学习方法就是多实践,希望大家可以多动手,多实现,人人成为码神。

大家还想看哪方面知识呢?赶紧关注我后台私信我吧!!

原创不易,希望大家多多支持,点点关注,小编感激不尽。谢谢大家。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180526G0BGG200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券