MySQL优化总结
如果什么都做不了,试试全索引扫描
如果一个语句实在不能优化了,那么还有一个方法可以试试:索引覆盖。
如果一个语句可以从索引上获取全部数据,就不需要通过索引再去读表,省了很多I/O。比如这样一个表

如果我要统计每个学生每道题的得分情况,我们除了要给每个表的主键外键建立索引,还要对【得分情况】的实际得分字段索引,这样,整个查询就可以从索引得到数据了。
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页:合理的硬件资源和操作系统/读写分离
相关文章