首页 > 数据库技术 > 详细

SQL易错总结

时间:2019-10-31 21:22:19      阅读:86      评论:0      收藏:0      [点我收藏+]

进阶

1、select语句。select*查询所有不规范,写出要查的属性。distinct慎用,性能消耗很大。

2、like模糊查询,空值判断是is null

3、单行函数:

lower(),upper(),trim(),substr(),to_date(),to_char()

4、多表查询:join on,group by

5、DML、DCL、DDL、DML为增删改事务(commit与rollback)

6、加锁:for update nowait;杀锁:alter system kill session 

7、项目命名:项目简称模块名业务名称,HSCS_AR_ORDER_HEADERS订单头表数据字典,表创建工具,表设计,三范式:适当冗余字段,对某些性能提高很大

8、授权:GRANT select,insert,update,delete ON departments TO scott WITH GRANT OPTION

9、insert 增强和delete都可以批量的,这样提升性能

11、临时表:dual

注意点

1、慎用distinct,性能消耗大,可用exists代替

2、有空值的查询,索引不会取到空值。外连接或者nvl()替换空值,或者case when

3、lower()、upper()索引列加索引会失效

4、oracel的varchar2()代表的是字节

5、对数据要进行去空处理,trim。多是表单提交时,Java的common-lng3库

StringUtils

6、带时分秒字符转换为不带时分秒,会报错。

7、oracel的(+),等价于left join/right join

8、count(*)/count(/)全量。count(字段)去除NULL值,count(null)横为0。

9、多行比较:IN,>ANY,>ALL

10、IN先执行子查询,然后执行外层主查询;而Exists属于关联子查询,因此,首先执行外层查询,然后再执行子查询,直到找到第一个符合条件的匹配项就不会再执行了,会快些。

11、rownum:逻辑编号,常用于分页查询

    rowid:物理位置

12、两表关联,关联字段类型不一致,会有隐式的类型转换

SQL易错总结

原文:https://www.cnblogs.com/jxyshuju/p/11771958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!