MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
MariaDB社区 门户 查看主题

SQL优化大全(推荐)

发布者: kider | 发布时间: 2007-7-25 12:33| 查看数: 23815| 评论数: 29|帖子模式

目录:

概要
优化的理由
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, 下载次数: 5687

最新评论

fengyun 发表于 2007-9-18 10:41:32
好帖
学习了
strong 发表于 2007-10-23 14:47:03
看看..
huanyong 发表于 2007-12-17 11:36:05
谢谢楼主
ligary2002 发表于 2008-1-8 13:21:51

haohao

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

QQ|Archiver|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-11-1 08:18 , Processed in 0.101098 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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