规范sql编写:在做性能测试的时候:简单层面的方法的下的方法:
1.SQL语句使用大写的,减少编译时间
2.查询时候使用表的别名,减少编译时间以及拼接表中列歧义引起的错误
3.表名顺序,sql自右往左处理from后的表名,数据量大的表放在后边,多个表的情况下使用数据量少的表作为基础表,3个表的话用交叉表作为基础表
4.where子句中的连接顺序:sql子下往上处理where子句,将能过滤多数数据的条件放到末尾。
5.select 中避免使用*,减少编译时间
6.数据处理尽量放在服务器上执行,建立编译好的存储过程
7.多使用commit提交,不要执行了很多处理语句后再提交
8.尽量减少对表的查询,select中不查表,where后不查表
9.避免耗费资源高的操作:distinct,union,minus(差集),intersect(交集),order by
10.union all 不会对结果集排序,可以使用。
11.exists替换distinct,exists子查询满足条件会立刻返回结果。
select a.name from users a where exists (select 1 from users b where a.name=b.name);
12.where子句替换having,一般我都不用having,很少接触到,也不了解。
13.truncate代替delete清空表。
14.decode函数可以减少处理时间。
15.用exists代替in,not exists代替not in
in 跟exists执行效率会有交集,
16.全数字的字段尽量不建成字符型
17.varchar/nvarchar 比char/nchar效率高
18.表连接不应太多,5个以内最好
19.避免使用多层嵌套视图
20.in中出现多的放在前边,减少遍历次数
21.尽量使用>=,少使用>
22.批量添加数据,使用批量添加语句
23.尽量少使用触发器
24.合理使用索引,对于数据操作频繁的尽量不要使用索引,影响操作效率。
参考资料:
https://www.cnblogs.com/nydk/p/13995215.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949806/viewspace-2989225/ ,如需转载,请注明出处,否则将追究法律责任。