MySQL优化总结
EXPLAIN的每个输出行提供一个表的相关信息,并且每个行包括下面的列:
· id
SELECT识别符。这是SELECT的查询序列号。
· select_type
SELECT类型,可以为以下任何一种:
⊙ SIMPLE
简单SELECT(不使用UNION或子查询)
⊙ PRIMARY
最外面的SELECT
⊙ UNION
UNION中的第二个或后面的SELECT语句
⊙ DEPENDENT UNION
UNION中的第二个或后面的SELECT语句,取决于外面的查询
⊙ UNION RESULT
UNION的结果。
⊙ SUBQUERY
子查询中的第一个SELECT
⊙ DEPENDENT SUBQUERY
子查询中的第一个SELECT,取决于外面的查询
⊙ DERIVED
导出表的SELECT(FROM子句的子查询)
· table
输出的行所引用的表。
· type
联接类型。下面给出各种联接类型,按照从非常好的类型到最坏类型进行排序:
⊙ system
表仅有一行(=系统表)。这是const联接类型的一个特例。
⊙ const
表最多有一个匹配行,它将在查询开始时被读取。因为仅有一行,在这行的列值可被优化器剩余部分认为是常数。const表很快,因为它们只读取一次!
1
第1页:数据库设计第2页:适当建立索引/对表进行水平划分第3页:对表进行垂直划分第4页:字段类型/文件系统/外键/表的写入时机第5页:避免频繁读写/选择合适的引擎第6页:SQL语句优化工具:慢日志和mysqldumpslow.pl第7页:SQL语句优化工具:Explain(1)第8页:SQL语句优化工具:Explain(2)第9页:SQL语句优化工具:Explain(3)第10页:SQL语句优化工具:Explain(4)第11页:SQL语句优化工具:Explain(5)第12页:SQL语句优化工具:Explain(6)第13页:SQL语句优化工具:Explain(7)第14页:SQL语句优化工具:Explain(8)第15页:SQL语句优化工具:Explain(9)第16页:SQL语句优化工具:Show [full] processlist(1)第17页:SQL语句优化工具:Show [full] processlist(2)第18页:SQL语句优化工具:Show [full] processlist(3)第19页:减少不必要的表关联第20页:尽可能的限制条件第21页:过大的子查询用临时表处理效果会好的多第22页:Join Vs select 结果集作列第23页:全索引扫描第24页:Join、In、not in、exist、not exist并不是绝对的/Like第25页:数据库参数配置第26页:合理的硬件资源和操作系统/读写分离
相关文章