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:物理位置
- 两表关联,关联字段类型不一致,会有隐式的类型转换
SQL易错总结1的更多相关文章
- SQL易错锦集
1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引 ...
- 细节!重点!易错点!--面试java基础篇(二)
今天来给大家分享一下java的重点易错点第二部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.字符串创建与存储机制:当创建一个字符串时,首先会在常量池中查找是否已经有相同的字符串被定义,其判断 ...
- [SQLXML]FOR XML语法导出XML的易错之处
原文:[SQLXML]FOR XML语法导出XML的易错之处 [SQLXML]FOR XML语法导出XML的易错之处 Version Date Creator Description 1.0.0.1 ...
- PHP数据访问易错点(20161030)
易错点: 1.造对象的时候括号里面的参数 写错了 $db = new MySQLi("localhost","root","789",&qu ...
- 【NCRE】三级网络技术 选择题易错点记录(1)
部分易错点 连接到一个集线器的多个节点不能同时发送数据帧 嵌入式安装插座用来连接双绞线 异步串行端口 PPP 同步串行端口 PPP/HPLC 对于频繁改变位置并使用DHCP获取IP地址的DNS客户端, ...
- DophineSheduler上下游任务之间动态传参案例及易错点总结
作者简介 淡丹 数仓开发工程师 5年数仓开发经验,目前主要负责百得利MOBY新车业务 二手车业务及售后服务业务系统数仓建设 业务需求 在ETL任务之间调度时,我们有的时候会需要将上游的 ...
- JavaScript易错知识点整理
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- JavaScript 易错知识点整理
本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES ...
- 数据库执行sql报错Got a packet bigger than 'max_allowed_packet' bytes及重启mysql
准备在mysql上使用数据库A,但mysql5经过重装后,上面的数据库已丢失,只得通过之前备份的A.sql重新生成数据库A. 1.执行sql报错 在执行A.sql的过程中,出现如下错误:Got a p ...
随机推荐
- [java核心技术01]__继承与多态、重载与重写、抽象类与接口
前言 前面简单学习了面向对象的知识,知道了其两个重要的特性,继承与多态,今天就围绕着面向对象的这两个特性,将继承与多态及相关的几个几个定义重载与重写,抽象类与接口的相关知识具体学习一下. 类的继承 关 ...
- Java线程中的join使用实例
JDK中解释为 Waits for this thread to die. 等待本线程结束后,下一个线程才可以运行. 实例要求: 现在有T1.T2.T3三个线程,你怎样保证T2在T1执行完后执行,T3 ...
- 西门子PLC SCL语言开发学习笔记(二)
今天来讲下scl两个关键的点 一.按键事件 比如地址I0.0是某个按钮的状态,他只有True和False两个状态,所以我们要获得按下事件需要我们自己模拟. #KeyPress := "Btn ...
- sip (db33)信令交互-视频点播与回播
请求视频流: INVITE sip:@ SIP/2.0 Via: SIP/;rport;branch=z9hG4bK178329191 From: <sip:@>;tag= To: < ...
- CentOS安装Subversion 1.9.*版本客户端
安装yum仓库 以下以CentOS6为例,其他类似 # vim /etc/yum.repos.d/wandisco-svn.rep [WandiscoSVN] name=Wandisco SVN Re ...
- IDEA配置maven(配置阿里云中央仓库)
前言 idea配置maven后如果不修改中央仓库地址创建maven则出奇的慢,不管你用MyEclipse还是idea都慢的不要不要的,实在不能忍受. 这种条件下发现一个阿里云中央仓库来点福利,有福利了 ...
- [转]window7下利用DockerToolbox安装Docker
本文转自:https://blog.csdn.net/qq2712193/article/details/54576313 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...
- [转]微擎MVC
本文转自:https://www.kancloud.cn/donknap/we7/134626 控制器 控制器以文件夹.文件的形式组织,位于系统的 source 目录下,每一个目录代表一个 contr ...
- 控制台安装跟检测Microsoft.Net Framework
1.检测 每一个版本的.Net Framework的安装过程都会在Windows目录下的\Microsoft.NET\Framework目录中生成一个子目录(安装目录). 比如说,假设Windows目 ...
- 为什么要先装IIS后装.Net Framework?
1.动态页面和静态页面的区别 动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服 ...