paip.提升性能----SQL优化总结
2012-10-01 00:36
309 查看
paip.提升性能----SQL优化总结
作者Attilax , 1466519819@qq.com
两个LEFT JOIN.. 4.5S
首先改成INNER JOIN,不行..
第一个先LEFT JOIN,排好序...然后()括号括起来做为一个TABLE同最后一个进行LEFT JOIN,效果不错,优化后达到 300MS了..
使用EXPLAIN看了下,MS有的表没用至KEY....于是还原来原来的两个LEFT JOIN,然后把WHERE,ORDER BY 后面的列统统做了个组合索引...
join on后面的做了个单独的索引..
然后再EX,发现有些表还是没用到索引..于是使用 USE INDEX (index_name),强迫使用索引..使用EX查看,果然用到了索引..
然后EXCE.. 速度达到了0.01S..
大大的成功.
我的结论是.LEFT JOIN多表,其实不影响速度的.只要做好索引.就可以了..
USE INDEX
在查询语句中表名的后面,添加USE INDEX 来提供希望MySQL去参考的索引列表,就可以让MySQL不再考虑其他可用的索引。
如果用户只是单纯地想让MySQL忽略一个或者多个索引,则可以使用IGNORE INDEX 作为HINT
3. FORCE INDEX
作者Attilax , 1466519819@qq.com
两个LEFT JOIN.. 4.5S
首先改成INNER JOIN,不行..
第一个先LEFT JOIN,排好序...然后()括号括起来做为一个TABLE同最后一个进行LEFT JOIN,效果不错,优化后达到 300MS了..
使用EXPLAIN看了下,MS有的表没用至KEY....于是还原来原来的两个LEFT JOIN,然后把WHERE,ORDER BY 后面的列统统做了个组合索引...
join on后面的做了个单独的索引..
然后再EX,发现有些表还是没用到索引..于是使用 USE INDEX (index_name),强迫使用索引..使用EX查看,果然用到了索引..
然后EXCE.. 速度达到了0.01S..
大大的成功.
我的结论是.LEFT JOIN多表,其实不影响速度的.只要做好索引.就可以了..
USE INDEX
在查询语句中表名的后面,添加USE INDEX 来提供希望MySQL去参考的索引列表,就可以让MySQL不再考虑其他可用的索引。
如果用户只是单纯地想让MySQL忽略一个或者多个索引,则可以使用IGNORE INDEX 作为HINT
3. FORCE INDEX
相关文章推荐
- 优化临时表使用,SQL语句性能提升100倍
- 总结优化Sql性能的方法
- ORACLE SQL性能优化技巧大总结
- 转--优化临时表使用,SQL语句性能提升100倍
- Oracle SQL性能优化技巧大总结
- 数据库性能优化常用sql脚本总结
- Oracle SQL性能优化总结(一)
- oracle sql 性能优化总结
- 优化临时表使用,SQL语句性能提升100倍
- 数据库 优化临时表使用,SQL语句性能提升100倍
- Oracle SQL性能优化技巧大总结
- paip.提升性能---mysql 优化cpu多核以及lan性能的关系.
- Oracle SQL性能优化技巧大总结
- paip.提升性能---mysql 优化cpu多核以及lan性能的关系.
- Oracle SQL性能优化技巧大总结
- 优化临时表使用,SQL语句性能提升100倍
- 优化临时表使用,SQL语句性能提升100倍
- 性能优化总结(三):聚合SQL在GIX4中的应用
- SQL性能优化(不断总结)
- SQL优化(SQL TUNING)可大幅提升性能的实战技巧之一——让计划沿着索引跑