zoukankan      html  css  js  c++  java
  • SQL易错总结1

    SQL易错总结1

    进阶

    • select语句。select * 查询所有不规范,写出要查的属性。distinct慎用,性能消耗很大
    • like 模糊查询 ,空值判断是 is null
    • 单行函数:lower(),upper(),trim(),substr(),to_date(),to_char()
    • 多表查询:join on ,group by
    • DML、DCL、DDL DML为增删改、事务(commit与rollback)
    • 加锁:for update nowait;杀锁:alter system kill session 'sid,serial#' IMMEDIATE
    • 项目命名:项目简称模块名业务名称,HSCS_AR_ORDER_HEADERS,订单头表数据字典、表创建工具、表设计:三范式; 适当冗余字段,对某些性能提高很大
    • 授权:GRANT select, insert, update,delete ON departments TO scott WITH GRANT OPTION;
    • INSERT增强和delete都可以批量的,这样提升性能
    • 临时表:dual

    注意点

    • 慎用distinct,性能消耗大,可用exists代替。
    • 有空值的查询。索引不会取到空值。外连接或者nvl()替换空值,或者case when
    • lower(),upper()索引列加索引会失效。
    • oracle的varchar2()代表的是字节。
    • 对数据要进行去空处理,trim。多是表单提交时,Java的common-lng3库StringUtils
    • 带时分秒字符转换为不带时分秒,会报错。易错。
    • oracle的(+),等价于left join/right join
    • count(*)/count(1)全量。count(字段)去除NULL值,count(null)横为0。
    • 多行比较:IN , > ANY, > ALL
    • In先执行子查询,然后执行外层主查询;而Exists属于关联子查询,因此,首先执行外层查询,然后再执行子查询,直到找到第一个符合条件的匹配项,就不会再执行了,会快一些
    • rownum:逻辑编号,常用于分页查询, rowid:物理位置
    • 两表关联,关联字段类型不一致,会有隐式的类型转换
  • 相关阅读:
    【科普杂谈】计算机按下电源后发生了什么
    【VS开发】使用WinPcap编程(1)——获取网络设备信息
    【VS开发】使用WinPcap编程(1)——获取网络设备信息
    微信公众平台消息接口PHP版
    编码gbk ajax的提交
    mysql 查询
    js cookie
    js同域名下不同文件下使用coookie
    去掉A标签的虚线框
    jquery切换class
  • 原文地址:https://www.cnblogs.com/renqiqiang/p/10129355.html
Copyright © 2011-2022 走看看