ORACLE普通表转换成分区表的操作
【前言】oracle官方建议当表的大小大于2GB的时候就使用分区表进行管理,分区表相对于小的表管理和性能上都有很大的优势,本文档暂时不介绍具体的优势,主要介绍几种普通表转换成分区表的方法;【方法概述】oracle官方给了以下四种操作的方法: A) Export/import method(导入导出) B) Ins...
使用10046查看执行计划
SQL> oradebug setmypidStatement processed.SQL> oradebug event 10046 trace name context forever,level 12Statement processed.SQL> select t1.col1 c1,t1.col2 c2,t2.col3 c3 from t1 right join t2 on(t1.col2=t2.col2) where t1.col1=1;C1 C C3---------- - --1 A A2SQL> oradebug tracef...
外链接内连接对应的条件与where条件
1.新建两个相关的实验表,并插入数据SQL> create table t1(col1 number,col2 varchar2(1));Table created.SQL> create table t2(col2 varchar2(1),col3 varchar2(2));Table created.SQL> insert into t1 values(1,'A');SQL> insert into t1 values(2,'B');SQL> insert into t1 values(3,'C');SQL> insert i...
Oracle如何删除表中重复记录
删除表中重复记录
ORACLE ROLLUP和CUBE的使用
ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。 在文章的最后附上了相关表和记录创建的脚本。 1、向ROLLUP传递一列SQL> select division_id,sum(salary) ...
ORACLE GROUPING函数的使用
GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。1、在ROLLUP中对单列使用GROUPING()SQL> select division_id,sum(salary) 2 from employees...
数据库设计准则
1.1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对...