當前位置:
首頁 > 最新 > ES6結尾——sql查詢分析補一下

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的一些日常用法,今天就算暫時說完啦。關於編程序最好的學習方法就是多實踐,希望大家可以多動手,多實現,人人成為碼神。

大家還想看哪方面知識呢?趕緊關注我後台私信我吧!!

原創不易,希望大家多多支持,點點關注,小編感激不盡。謝謝大家。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 熊孩子碼農之路 的精彩文章:

TAG:熊孩子碼農之路 |