WEB开发网
开发学院数据库MySQL MySQL性能优化全攻略-相关数据库命令 阅读

MySQL性能优化全攻略-相关数据库命令

 2010-08-23 15:58:22 来源:WEB开发网   
核心提示:SELECT命令中出现的表定义如下:※表定义表 列 列类型tt ActualPC CHAR(10)tt AssignedPC CHAR(10)tt ClientID CHAR(10)et EMPLOYID CHAR(15)do CUSTNMBR CHAR(15)※索引表 索引tt ActualPCtt Assigned

SELECT命令中出现的表定义如下:

※表定义

表 列 列类型

tt ActualPC CHAR(10)
tt AssignedPC CHAR(10)
tt ClientID CHAR(10)
et EMPLOYID CHAR(15)
do CUSTNMBR CHAR(15)

※索引

表 索引

tt ActualPC
tt AssignedPC
tt ClientID
et EMPLOYID (主键)
do CUSTNMBR (主键)
  

※tt.ActualPC值分布不均匀

在进行任何优化之前,EXPLAIN对SELECT执行分析的结果如下:

table type possible_keys key key_len ref rows Extra
et ALL PRIMARY NULL NULL NULL 74
do ALL PRIMARY NULL NULL NULL 2135
et_1 ALL PRIMARY NULL NULL NULL 74
tt ALL AssignedPC,ClientID,ActualPC NULL NULL NULL 3872
range checked for each record (key map: 35)

每一个表的type都是ALL,它表明MySQL为每一个表进行了完全连接!这个操作是相当耗时的,因为待处理行的数量达到每一个表行数的乘积!即,这里的总处理行数为74 * 2135 * 74 * 3872 = 45,268,558,720。

Tags:MySQL 性能 优化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接