SQL学习总结笔记
2024-08-23 20:10:50
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效率的关键因素之一;
真正的提高性能的方法还有一种就是创建临时表空间(自己想吧,我也用的不多)。。。。。
最新文章
- Money, save or spend, this is a problem .
- Luogu题目集合[6/未完待续]
- p2p软件如何穿透内网进行通信
- C++动态链接库测试实例
- android:layout_weight详解
- Leetcode 226 Invert Binary Tree python
- Catalog和Schema
- UVA796- Critical Links(无向图中的桥梁)
- MVC中的Views下面的视图放到Views文件夹外
- RSA算法优化
- C 函数参数 char **s与char *s[]
- 在tomcat中布置项目的介绍(一)
- echart css样式弄了几个月了,样式一直都没有好好解决,好激动
- SpringMvc 这篇文章写得不错 多多学习2017.6.29
- vue加elementui开发的分页显示
- 学习笔记——在vue中如何配置Jest(一)
- laravel orm
- Mysql 索引 n-gram分词引擎使用
- 【Android自动化】测试系统的应用程序安装与卸载性能,判断长时间反复安装对系统的整体性能影响
- 〖Linux〗bash和expect执行ssh命令行sshcmd.exp