ORACLE的五种表的优缺点概述
一、普通表(heap table):适合大部分设计场景,有优点也有缺点。
优点:
1.语法简单方便
2.适合大部分场景
缺点:
1.更新日志开销较大
2.Delete无法释放空间(HWM High Water Mark不下降)
3.表记录太大检索太慢
4.索引回表读开销很大
5.即便有序插入,也很难保证有序读出
二、全局临时表:适合接口表设计
优点:
1.高效删除
2.产生很少的日志
3.不同的SESSION独立,不产生锁
缺点:
1.语法特别
2.数据无法得到有效的保护
全局临时表分两类:
一个是基于会话的全局临时表(on commit preserve rows),一个是基于事务的全局临时表(on commit delete rows),下面就是创建的例子:
create global temporary table T_TMP_SESSION on commit preserve rows as select * from dba_objects; create global temporary table T_TMP_TRANSACTION on commit delete rows as select * from dba_objects;
三、分区表:尤其适合日志表,非常大的表
优点:
1.有效的分区消除 (分区裁剪)
2.高效的记录清理(即可以对某一个分区进行truncate)
3.高效的记录转移(分区交换)
缺点:
1.语法复杂
2.分区过多对系统有一定的影响
四、索引组织表:适合极少更新的表
优点:
1.表就是索引,可以避免回表
缺点:
1.语法复杂
2.更新开销较大
五、蔟表:使用频繁关联查询的多表
优点:
1.可以减少或避免排序
缺点:
1.语法复杂
2.表更新开销大
相关推荐
-
SQLServer与Oracle常用函数实例对比汇总
一.数学函数 1.绝对值 复制代码 代码如下: S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) 复制代码 代码如下: S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) 复制代码 代码如下: S:select floor(-1.001) value O:select floor(-1.001) value from
-
Oracle静态注册与动态注册详解
一.概述: Oracle的注册就是将数据库作为一个服务注册到监听程序.客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到这个数据库.这个服务名可能与实例名一样,也有可能不一样. 在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务(无论何时启动一个数据库,默认地都有两条信息注册到监听器中:数据库服务器对应的实例和服务.) 相当于是这样:在数据库服务器和客户端之间有一监听程序(Listener),在监听程序中,会记录相应数据库对应的服务名(一个数据库可
-
ORACLE出现错误1033和错误ORA-00600的解决方法
在非法关机以后,Oracle数据库经常会出现这个错误: EXP-00056:ORACLE错误1033出现 ORA-01033:ORACLE initialization or shutdown in progress 用户: 口令: 这个显然是数据库没有办法启动,但是数据库服务还是可以启动,而程序则无法连接数据库. 首选找问题要看看数据库BDUMP目录下的ALERT文件具体报什么错误 最后几行你会看到有: 报错ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt], []
-
Oracle排名函数(Rank)实例详解
--已知:两种排名方式(分区和不分区):使用和不使用partition --两种计算方式(连续,不连续),对应函数:dense_rank,rank ·查询原始数据:学号,姓名,科目名,成绩 select * from t_score S_ID S_NAME SUB_NAME SCORE 1 张三 语文 80.00 2 李四 数学 80.00 1 张三 数学 0.00 2 李四 语文 50.00 3 张三丰 语文 10.00 3 张三丰 数学 3 张三丰 体育 120.00 4 杨过 JAVA 9
-
oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .
一.索引简介 1.索引相当于目录 2.索引是通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率. 3.索引的创建要适度,多了会影响增删改的效率,少了会影响查询的效率,索引最好创建在取值分散的列上,避免对同一张表创建过多的索引 4.索引的使用对用户来说是透明的,由系统来决定什么时候使用索引. 5.Oracle支持多种类型的索引,可以按列的多少.索引值是否唯一和索引数据的组织形式对索引进行分类,以满足各种表和查询条件的要求.(请见附件) a. 单列索引和复合索引 b.B树索引(cr
-
oracle索引介绍(图文详解)
对于数据库来说,索引是一个必选项,但对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分. 索引分类:逻辑分类single column or concatenated 对一列或多列建所引unique or nonunique 唯一的和非唯一的所引,也就是对某一列或几列的键值(key)是否是唯一的.Function-based 基于某些函数索引,当执行某些函数时需要对其进行计算,可以将某些函数的计算结果事先保存并加以索引,提高效率. Doman
-
Oracle 11g自动诊断信息库(Automatic Diagnostic Repository,ADR)概述
在Oracle 11g中引入了自动诊断信息库(ADR),它提供了一个统一而且一致的机制来存储.格式化并定位所有的数据库诊断信息(易于使用的文件结构).ADR关联各种组件(比如Oracle RAC.Oracle Clusterware.OCI.Net.进程等)的错误,并自动为严重的错误生成事故和提供事故管理功能.因此,ADR可以显著减少解决事故和问题的时间. 通常在使用传统的初始化参数的时候,比如BACKGROUND_DUMP_DEST.CORE_DUMP_ DEST和USER_DUMP_DEST
-
Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例
问题:在SQL Server数据库中,有自增列这个字段属性,使用起来也是很方便的.而在Oracle中却没有这个功能,该如何实现呢? 答:在Oracle中虽然没有自增列的说法,但却可以通过触发器(trigger)和序列(sequence)来模式实现. 示例: 1.建立表 复制代码 代码如下: create table user ( id number(6) not null, name varchar2(30) not null primary key )
-
Oracle中简单查询、限定查询、数据排序SQL语句范例和详细注解
一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统.ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言. Oracle数据库之所以发展的很好,主要也是因为Oracle是全世界最早采用SQL语句的数据库产品. SQL功能强大,概括起来,它可以分成以下几组: 复制代码 代码如下: DML(Data Manipulation Language) 数据操作语言,用于
-
Oracle并行操作之并行查询实例解析
Oracle数据库的并行操作特性,其本质上就是强行榨取除数据库服务器空闲资源(主要是CPU资源),对一些高负荷大数据量数据进行分治处理.并行操作是一种非确定性的优化策略,在选择的时候需要小心对待.目前,使用并行操作特性的主要有下面几个方面: Parallel Query:并行查询,使用多个操作系统级别的Server Process来同时完成一个SQL查询: Parallel DML:并行DML操作.类似于Parallel Query.当要对大数据量表进行DML操作,如insert.update和
随机推荐
- python解析中国天气网的天气数据
- jQuery实现浮动层随浏览器滚动条滚动的方法
- VueJS组件之间通过props交互及验证的方式
- 深入理解ES6 Promise 扩展always方法
- Java实现读取文章中重复出现的中文字符串
- asp.net uploadify实现多附件上传功能
- ThinkPHP表单自动验证实例
- Go语言实现的树形结构数据比较算法实例
- JavaScript中使用concat()方法拼接字符串的教程
- Mac上将brew安装的MySql改用Docker执行操作过程
- vue.js实例todoList项目
- Shell脚本读取标准ini配置文件Demo
- Jsp结合XML+XSLT将输出转换为Html格式
- Lost connection to MySQL server during query的解决
- js编码、解码函数介绍及其使用示例
- 使用jQuery实现的网页版的个人简历(可换肤)
- jquery实现智能感知连接外网搜索
- jQuery实现鼠标经过提示信息的地图热点效果
- 在JavaScript中使用对数Math.log()方法的教程
- nginx php-fpm 小VPS 优化