一、背景
关于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的一些日常用法,今天就算暂时说完啦。关于编程序最好的学习方法就是多实践,希望大家可以多动手,多实现,人人成为码神。
大家还想看哪方面知识呢?赶紧关注我后台私信我吧!!
原创不易,希望大家多多支持,点点关注,小编感激不尽。谢谢大家。
领取专属 10元无门槛券
私享最新 技术干货