MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 43392|回复: 58

[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, 下载次数: 11617

发表于 2007-9-18 10:41:32 | 显示全部楼层
好帖
学习了
发表于 2007-10-23 14:47:03 | 显示全部楼层
看看..
发表于 2007-12-17 11:36:05 | 显示全部楼层
谢谢楼主
ligary2002 该用户已被删除
发表于 2008-1-8 13:21:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
hongyu6 该用户已被删除
发表于 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 | 显示全部楼层
是的,需综合考虑,实际环境是要以最后系统整体测试报告为标准,以上是个普遍规律。
edison7500 该用户已被删除
发表于 2009-2-17 20:44:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-2-26 14:10:17 | 显示全部楼层
关注....
only_dang 该用户已被删除
发表于 2009-3-17 11:49:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-4-14 10:48:41 | 显示全部楼层
收藏一下,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周先生; 联系电话:17896003451

GMT+8, 2017-11-20 08:34 , Processed in 0.202232 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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