MySQL执行计划及索引最佳实践.ppt

MySQL执行计划及索引最佳实践.ppt

ID:56443644

大小:460.00 KB

页数:23页

时间:2020-06-18

MySQL执行计划及索引最佳实践.ppt_第1页
MySQL执行计划及索引最佳实践.ppt_第2页
MySQL执行计划及索引最佳实践.ppt_第3页
MySQL执行计划及索引最佳实践.ppt_第4页
MySQL执行计划及索引最佳实践.ppt_第5页
资源描述:

《MySQL执行计划及索引最佳实践.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DTMySQL索引最佳实践赢在刘宏仓02MySQLEXPLAIN•EXPLAINSQLEXPLAINEXTENDEDSQL将执行计划“反编译”成SELECT语句,运行SHOWWARNINGS可得到被MySQL优化器优化后的查询语句2.EXPLAINPARTITIONSSQL用于分区表的EXPLAIN03MySQLEXPLAIN•EXPLAINRESULTID:SELECT_TYPETABLETYPEPOSSIBLE_KEYSKEY04MySQLEXPLAIN•EXPLAINRESULTKEY_LENREFROWSEXTRA05MySQLE

2、XPLAIN•EXPLAINRESULTID:一组数字,表示执行SQL子句或操作表的顺序ID相同,执行顺序由上至下子查询中ID的序号会递增,id值越大优先级越高,越先被执行在所有组中,ID值越大,优先级越高,越先执行06MySQLEXPLAIN•EXPLAINRESULTSELECT_TYPE:表示查询中每个SQL子句的类型1SIMPLE2PRIMARY3SUBQUERY4DERIVED5UNION6UNIONRESULT简单复杂07MySQLEXPLAIN•EXPLAINRESULT1.SIMPLE:查询中不包含子查询或者UNION2.

3、查询中若包含任何复杂的子查询,最外层查询被标记为:PRIMARY3.在SELECT或WHERE列表中包含了子查询,该子查询被标记为:SUBQUERY4.在FROM列表中包含的子查询被标记为:DERIVED(虚拟)5.如果第二个SELECT出现在UNION之后,则被标记为UNION;如果UNION包含在FROM子句的子查询中外层SELECT将被标记为:DERIVED6.从UNION表获取结果的SELECT被标记为:UNIONRESULT08MySQLEXPLAIN•EXPLAINRESULTTABLE:显示所访问的数据库中的表名或别称09M

4、ySQLEXPLAIN•EXPLAINRESULTTYPE:表示MySQL在表中找到所需行的方式,又称访问类型,常见类型如下:ALL->INDEX->RANGE->REF->EQ_REF->CONST->SYSTEM->NULL低高10MySQLEXPLAINALL:FullTableScan,MySQL将遍历全表以找到匹配的行INDEX:FullIndexScan,index与ALL区别为index类型只遍历索引树RANGE:索引范围扫描,对索引的扫描开始于某一点,返回匹配值域的行,常见于between、<、>等的查询REF:非唯一性索

5、引扫描,返回匹配某个单独值的所有行。常见于使用非唯一索引即唯一索引的非唯一前缀进行的查找EQ_REF:唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配。常见于主键或唯一索引扫描CONST:当MySQL对查询某部分进行优化,并转换为一个常量时,使用这些类型访问。如将主键置于where列表中,MySQL就能将该查询转换为一个常量SYSTEM:是CONST特例,当查询的表只有一行的情况下使用systemNULL:MySQL在优化过程中分解语句,执行时甚至不用访问表或索引11MySQLEXPLAIN•EXPLAINRESULTPOSSIB

6、LE_KEYS:指出MySQL能使用哪个索引在表中找到行,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用12MySQLEXPLAIN•EXPLAINRESULTKEY:显示MySQL在查询中实际使用的索引,若没有使用索引,显示为NULLTIPS:查询中若使用了覆盖索引,则该索引仅出现在key列表中13MySQLEXPLAIN•EXPLAINRESULTKEY_LEN:表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度key_len的长度计算公式:char(10)允许NULL    = 10*(characte

7、rset:utf8=3,gbk=2,latin1=1)+1(NULL) char(10)不允许NULL  = 10*(characterset:utf8=3,gbk=2,latin1=1) varchr(10)允许NULL   = 10*(characterset:utf8=3,gbk=2,latin1=1)+1(NULL)+2(变长字段)varchr(10)不允许NULL = 10*(characterset:utf8=3,gbk=2,latin1=1)+2(变长字段)int允许NULL          = 4+1(NULL) int

8、不允许NULL        = 4 timestamp允许NULL   = 4+1(NULL) timestamp不允许NULL = 4 datatime允许NULL    = 5+1(NU

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

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

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