EXPLAIN-Demystified

EXPLAIN-Demystified

ID:40070672

大小:277.21 KB

页数:27页

时间:2019-07-19

EXPLAIN-Demystified_第1页
EXPLAIN-Demystified_第2页
EXPLAIN-Demystified_第3页
EXPLAIN-Demystified_第4页
EXPLAIN-Demystified_第5页
资源描述:

《EXPLAIN-Demystified》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、EXPLAINDemystifiedBaronSchwartzPerconaIncOutline•WhatisEXPLAIN?•HowMySQLexecutesqueries•HowtheexecutionplanbecomesEXPLAIN•Howtoreverse-engineerEXPLAIN•Hopelesslycomplexstuffyou'llneverremember•CooltricksEXPLAINDemystifiedWhatisEXPLAIN?•ShowsMySQL'sestimatedqueryp

2、lan•OnlyworksforSELECTqueriesmysql>explainselecttitlefromsakila.filmwherefilm_id=5G***************************1.row***************************id:1select_type:SIMPLEtable:filmtype:constpossible_keys:PRIMARYkey:PRIMARYkey_len:2ref:constrows:1Extra:EXPLAINDemystifi

3、edButfirst...•HowdoesMySQLexecutequeries?•SQL=>ParseTree=>ExecutionPlan•ExecutionerlooksatExecutionPlan•ExecutionermakescallstoStorageEngines•MySQLdoesNOTgeneratebyte-code!EXPLAINDemystifiedTheExecutionPlan•SELECT...sakila.filmJOINsakila.film_actorUSING(film_id)J

4、OINsakila.actorUSING(actor_id)OnewaytodoitTheMySQLWay(TM)JOINJOINJOINactorfilmfilm_actoractorfilmfilm_actorEXPLAINDemystifiedWhereEXPLAINcomesfromEXPLAINDemystifiedGeneratingEXPLAIN•MySQLactuallyexecutesthequery•ButateachJOIN,insteadofexecuting,itfillstheEXPLAINr

5、esultset•WhatisaJOIN?–EverythingisaJOIN,becauseMySQLalwaysusesnested-loops–Evenasingle-tableSELECToraUNIONorasubqueryEXPLAINDemystifiedTheColumnsinEXPLAIN•id:whichSELECTtherowbelongsto–IfonlyoneSELECTwithnosubqueryorUNION,theneverythingis1–Otherwise,generallynumb

6、eredsequentially–Simple/complextypes•simple:thereisonlyoneSELECTinthewholequery•3subtypesofcomplex:subquery,derived,union.–subquery:numberedaccordingtopositioninSQLtext–derived(subqueryintheFROMclause):executedasatemptable–union:rowsarespooledintoatemptable,thenr

7、eadoutwithaNULLidinarowthatsaysUNIONRESULTEXPLAINDemystifiedTheColumnsinEXPLAIN•simplesubquerymysql>EXPLAINSELECT(SELECT1FROMsakila.actorLIMIT1)FROMsakila.film;+----+-------------+-------+...

8、id

9、select_type

10、table

11、...+----+-------------+-------+...

12、1

13、PRIMARY

14、film

15、

16、...

17、2

18、SUBQUERY

19、actor

20、...+----+-------------+-------+...EXPLAINDemystifiedTheColumnsinEXPLAIN•derivedtablemysql>EXPLAINSELECTfilm_idFROM(SELECTfilm_idFROMsakila

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关文章
更多
相关标签