MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 37582|回复: 56

[SQL类] SQL优化大全(推荐)

[复制链接]
发表于 2007-7-25 12:33:58 | 显示全部楼层 |阅读模式
目录:

概要
优化的理由
1. 大小写对SQL语句的影响(ORACLE)
2. 尽量使用(NOT) EXISTS 替代( NOT)IN这样的操作
3. 在海量查询时尽量少用格式转换
4. 查询海量数据是,可以使用OPTIMIZER HINTS(ORACLE)
5. ORDER BY和GROPU BY
6. 对列的操作
7. 避免使用OR
8. 用IN来替换OR
9. FROM
10. WHERE
11. IS NULL或IS NOT NULL
12. SELECT子句中避免使用 ‘ * ‘
13. 避免在索引列上使用计算
14. ORDER BY语句
15. 通配符
16. 避免相关子查询
17. 用WHERE子句替换HAVING子句(ORACLE)
18. 联合
19. 让MYSQL服务器做的更好
20. 本地缓存数据
21. 索引准则
22. 尽量为所有在WHERE子句中被引用的列建立索引
23. 尽可能的使用唯一索引
24. 利用多列索引
25. 考虑不为某些列建立索引
26. 惯用的一些技巧
27. 尽量避免的事情
28. 表锁定
29. 慎用游标
总结

SQL Optimize Referance(MySQLpub).zip

33.91 KB, 下载次数: 8929

发表于 2007-9-18 10:41:32 | 显示全部楼层
好帖
学习了
发表于 2007-10-23 14:47:03 | 显示全部楼层
看看..
发表于 2007-12-17 11:36:05 | 显示全部楼层
谢谢楼主
发表于 2008-1-8 13:21:51 | 显示全部楼层

haohao

haohaohaohao
发表于 2008-2-1 16:45:57 | 显示全部楼层
非常感谢!
发表于 2008-3-26 09:55:25 | 显示全部楼层
  支持
发表于 2008-4-9 14:18:27 | 显示全部楼层
发表于 2008-4-11 17:18:19 | 显示全部楼层
OK,顶!!!
发表于 2008-12-3 08:52:44 | 显示全部楼层
在我看來,優化不能死記一些規則,拿上面的第二條來說 尽量使用(NOT) EXISTS 替代( NOT)IN这样的操作
我在優化的時候發現IN有很多時候的效率是高于EXISTS的,
所以優化要建立在對數據庫體系架構理解上的
 楼主| 发表于 2008-12-3 09:29:16 | 显示全部楼层
是的,需综合考虑,实际环境是要以最后系统整体测试报告为标准,以上是个普遍规律。
发表于 2009-2-17 20:44:10 | 显示全部楼层
学习了:)
发表于 2009-2-26 14:10:17 | 显示全部楼层
关注....
发表于 2009-3-17 11:49:57 | 显示全部楼层
1# kider 3q
发表于 2009-4-14 10:48:41 | 显示全部楼层
收藏一下,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   

GMT+8, 2017-1-19 10:14 , Processed in 0.258559 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表