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:物理位置
  • 两表关联,关联字段类型不一致,会有隐式的类型转换

SQL易错总结1的更多相关文章

  1. SQL易错锦集

    1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引 ...

  2. 细节!重点!易错点!--面试java基础篇(二)

    今天来给大家分享一下java的重点易错点第二部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.字符串创建与存储机制:当创建一个字符串时,首先会在常量池中查找是否已经有相同的字符串被定义,其判断 ...

  3. [SQLXML]FOR XML语法导出XML的易错之处

    原文:[SQLXML]FOR XML语法导出XML的易错之处 [SQLXML]FOR XML语法导出XML的易错之处 Version Date Creator Description 1.0.0.1 ...

  4. PHP数据访问易错点(20161030)

    易错点: 1.造对象的时候括号里面的参数 写错了 $db = new MySQLi("localhost","root","789",&qu ...

  5. 【NCRE】三级网络技术 选择题易错点记录(1)

    部分易错点 连接到一个集线器的多个节点不能同时发送数据帧 嵌入式安装插座用来连接双绞线 异步串行端口 PPP 同步串行端口 PPP/HPLC 对于频繁改变位置并使用DHCP获取IP地址的DNS客户端, ...

  6. DophineSheduler上下游任务之间动态传参案例及易错点总结

    ​   作者简介 ​ 淡丹 数仓开发工程师 5年数仓开发经验,目前主要负责百得利MOBY新车业务 二手车业务及售后服务业务系统数仓建设   业务需求 在ETL任务之间调度时,我们有的时候会需要将上游的 ...

  7. JavaScript易错知识点整理

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...

  8. JavaScript 易错知识点整理

    本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES ...

  9. 数据库执行sql报错Got a packet bigger than 'max_allowed_packet' bytes及重启mysql

    准备在mysql上使用数据库A,但mysql5经过重装后,上面的数据库已丢失,只得通过之前备份的A.sql重新生成数据库A. 1.执行sql报错 在执行A.sql的过程中,出现如下错误:Got a p ...

随机推荐

  1. 用C#学习数据结构之线性表

    什么是线性表 线性表是最简单.最基本.最常用的数据结构.线性表是线性结构的抽象(Abstract),线性结构的特点是结构中的数据元素之间存在一对一的线性关系.这种一对一的关系指的是数据元素之间的位置关 ...

  2. 使用go语言编写IOS和Android程序

    go语言目前已可以用来开发android和ios手机app.相关资料: 1.IOS https://groups.google.com/forum/?utm_medium=email&utm_ ...

  3. 迁移基于Microsoft.DirectX的AudioRecoder类到SharpDX上

    最近迁移项目到x64上,要处理的东西还是蛮多的,所以我要在说一次,不到万不得已不要用COM组件,要用COM组件也得首先考虑不需要我们关心平台的做法,或者得有64位版本. 比如Office的COM组件调 ...

  4. js-ES6学习笔记-const命令

    1.const声明一个只读的常量.一旦声明,常量的值就不能改变. 2.const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值. 3.const的作用域与l ...

  5. .Net Core缓存组件(Redis)源码解析

    上一篇文章已经介绍了MemoryCache,MemoryCache存储的数据类型是Object,也说了Redis支持五中数据类型的存储,但是微软的Redis缓存组件只实现了Hash类型的存储.在分析源 ...

  6. java界面设计(swing)

    1.Swing基本组件 窗体控件 JFrame.容器控件 JPanel .标签控件 JLabe.按钮控件 JButton.文本框控件 JTextField 与 JTextArea(注意JScrollP ...

  7. yarn 工作原理(2)

    1.client向yarn提交job,首先找ResourceManager分配资源, 2.ResourceManager开启一个Container,在Container中运行一个Application ...

  8. 【Spring】30、Spring,SpringMVC用法汇总

    SpringMVC的工作原理图: springMVC中的几个组件: 前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU. 处理器映射器(HandlerMappin ...

  9. One Person Game(zoj3593+扩展欧几里德)

    One Person Game Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Submit Status ...

  10. Adding a struct into an array(stackoverflow)

    Question: So lets say I have a struct like this: struct example_structure { int thing_one; int thing ...