SQL学习总结笔记

SQL语句的效率不仅是sql语句的设计还有一些其他的原因比如网络 、是否有视图、是否有索引等等。这里主要描述的是我个人对于sql设计方面优化的一些见解: 首先要说明一下的是数据库SQL解析顺序: (1)from:可以理解为检查表是否存在 (2)where : {index-》否则正常读取-》查找到后去看group by-》存在即放在临时表中 (有些交错执行)} having属性 (3)select ; 查询优化需要做的是养成良好的sql习惯: 使用表的别名; 不要跨用户访问表; 具体化每个select的结果集,变相缩小搜索集,特别是进行表连接时注意开销; 使用分析函数减少数据的获取量例如Nvl(),decode()等; 减少select集的之间的乘法存在因为乘法意味着是在扩大搜索集,当然不可避免的还是要用; 避免在WHERE子句中使用in,not in,or 或者having; 最终的查询设计语句中不要出现select * from ; DISTINCT,UNION,MINUS,INTERSECT,ORDER BY等关键词谨慎使用; 少用update多用commit; 写sql句子的时候大小写也是影响执行效率,最好统一格式; SQL 语句的执行计划是可以自己设定的,这个也是影响sql效率的关键因素之一; 真正的提高性能的方法还有一种就是创建临时表空间(自己想吧,我也用的不多)。。。。。
原文地址:https://www.cnblogs.com/zzuyczhang/p/4790564.html