亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

MySQL源代碼的海洋中游弋 初探MySQL之SQL執行過

系統 2462 0

MySQL源代碼的海洋中游弋 初探MySQL之SQL執行過程

五月 15, 2012 ?by? ?·? 14 Comments ?

導讀:
???????? 2012年5月12日,MySQL技術群-北京技術圈的MySQL愛好者,聚集搜狐公司,舉辦MySQL數據庫技術沙龍,本文內容為搜狐DBA團隊古雷(外號:古大師,因研究佛學而來)分享的MySQL之SQL執行過程,先整理成文章的方式供大家閱讀,古大師也是mysqlops中文網的技術編輯之一。

?

序言:
?不積跬步,無以至千里;不積小流,無以成江?!秳駥W》荀子
?吾生也有涯,而知也無涯。以有涯隨無涯,殆已——《養生主》莊子

?

Group by

?select name1 from test group by name1;
?從InnoDB存儲引擎表讀出一條記錄,寫入臨時表,循環往復
?臨時表中,group by的key(本例中為name1)
–每個KEY值只有一行記錄
–(相同KEY值寫入,檢測到重復鍵錯誤,忽略此錯誤并繼續)
?從臨時表中讀取記錄(全部或KEY)
?排序(filesort)
?發送排序結果

?

?

Group by + sum

?select sum(id) from test group by name1;
?從InnoDB存儲引擎表讀取一條記錄,寫入臨時表,循環往復
?臨時表中group by的key(本例中為name1)
–有一個hash索引
–每個KEY值只有一行記錄
–寫入臨時表每行記錄時,更新相同KEY的sum值
?以group by的key對臨時表排序(filesort)
?發送排序結果
?If you use GROUP BY, output rows are sorted according to the GROUP BY columns as if you had an ORDER BY for the same columns. To avoid the overhead of sorting that GROUP BY produces, add ORDER BY NULL
?

臨時表寫入的痕跡1

?

?

group by使用索引時,不需要臨時表

?從索引中讀取記錄,計算count,由于索引是按照group by的key排序的,因此可以邊讀記錄邊計算當前key的count,當讀的key值要變化時,則剛剛計算的count值就是那個key的最終count值,把結果發送給客戶端,再繼續從索引讀以下記錄。

?

什么是Nested Loop Join(嵌套循環算法)

?

DEPENDENT SUBQUERY

?

DERIVED(派生表)

?

兩表JOIN + ORDER BY

?循環讀取ttt表的記錄,寫入cache,直至都寫完
?循環從tttt表中讀取記錄
?每讀一條,再循環讀取cache中記錄,并做比較
?滿足條件的記錄寫入臨時表
?對臨時表排序
?發送結果
?
?Using join buffer是循環讀取big表并與join buffer中的保存的table2記錄比較
?Using temporary是保存匹配的記錄,然后需要排序

?

?

總結

?之前看手冊上的諸多概念,有空中樓閣的感覺
?通過跟蹤源碼,則逐漸有腳踏實地的感覺
?希望真正看懂explain的輸出

?

轉自: http://www.mysqlops.com/2012/05/15/mysql-sql-analyze.html

MySQL源代碼的海洋中游弋 初探MySQL之SQL執行過程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 牛牛影视在线观看片免费 | 日本老乱video | 久久国产欧美另类久久久 | 久热这里只精品热在线观看 | 99热精品久久只有精品30 | 久久久夜间小视频 | 国产精品视频播放 | 色综合视频一区二区观看 | 亚洲久久在线观看 | 亚洲精品午夜级久久久久 | 久久亚洲美女久久久久 | 在线观看精品国语偷拍 | 日日摸天天摸狠狠摸视频 | 亚洲综合网址 | 在线国产播放 | 私人小影院在线 观看 | 国产一级在线视频 | 精品无码久久久久久国产 | 精品一区二区三区在线成人 | 日本爱爱免费视频 | 嫩模被xxxx视频在线观看 | 亚洲精品宾馆在线精品酒店 | 中文字幕欧美日韩va免费视频 | 亚洲天堂2015 | 久草精品免费 | 日韩欧美在线看 | 黄色在线观看视频免费 | 91久久澡人人爽人人添 | 欧美日本高清动作片www网站 | 91久久国产视频 | 9久热这里只有精品免费 | 在线视频 自拍 | 波多野结衣一区2区3区 | 香蕉在线视频观看 | 国产啪视频1000部免费视频 | 在线色片| 狠狠色丁香久久综合五月 | 国产波波社区精品视频 | 国产免费午夜a无码v视频 | 毛片激情永久免费 | 久久中文视频 |