Oracle 表
来源:互联网 发布:mysql主从复制的原理 编辑:程序博客网 时间:2024/06/06 12:25
-- Start
堆表(heap-organized)
堆表是默认的类型,存储的顺序是不确定的.
索引组织表(index-organized)
索引组织表是指按照索引的方式存储表,这样做的好处是查询速度快,坏处是当我们向表中插入数据时,Oracle 为了维护索引需要移动数据,这会大大降低插入速度。下面是一个简单的例子。
CREATE TABLE test( id NUMBER(10), name VARCHAR2(30), CONSTRAINT pk_test PRIMARY KEY (id)) ORGANIZATION INDEX;
对象表(object)
我们都知道,传统数据库都是关系型数据库,随着 Java 和面向对象的流行,Oracle 也与时俱进,加入了面向对象的特性。对象表就是一个典型的例子,面向对象使查询变得复杂,同时它的性能也不如传统表好,没有充足的理由,不建议使用它,千万不要为了炫耀技术而使用它。下面是一个简单的例子。
-- 创建类型CREATE TYPE address_type AS OBJECT(hno NUMBER,street VARCHAR2(40),city VARCHAR2(20),zip VARCHAR2(5),phone VARCHAR2(10));CREATE OR REPLACE TYPE person_type AS OBJECT( name VARCHAR2(30), birthday DATE, homeaddress address_type -- 注意此处);-- 创建表CREATE TABLE student OF person_type;-- 插入数据INSERT INTO student VALUES ('ZhangSan', date '1990-09-09', address_type(1,'Hui Xie', 'Da Lian', '116024', 88889999));-- 查询select * from student-- OBJECT_ID 是个伪列,返回对象 ID-- OBJECT_VALUE 是个伪列,返回对象值select OBJECT_ID,OBJECT_VALUE from student;
临时表(temporary)
Oracle 支持两种级别的临时表,一种是 transaction 级别,事务提交后自动清除。另一种是 session 级别,会话关闭后自动清除。下面是一个简单的例子。
-- transaction 级别CREATE GLOBAL TEMPORARY TABLE test(col char(1)) ON COMMIT DELETE ROWS;-- session 级别CREATE GLOBAL TEMPORARY TABLE test(col char(1)) ON COMMIT PRESERVE ROWS;
外部表(external)
如果你想通过 SQL 访问一个文件,外部表可以帮我们实现这样的功能,创建外部表的时候,我们需要指定要导入的文件和如何导入这个文件,下面是一个简单的例子。
CREATE TABLE dept_external(deptno NUMBER(6),dname VARCHAR2(20),loc VARCHAR2(25)) ORGANIZATION EXTERNAL(TYPE oracle_loaderDEFAULT DIRECTORY adminACCESS PARAMETERS(RECORDS DELIMITED BY newlineBADFILE 'ulcase1.bad'DISCARDFILE 'ulcase1.dis'LOGFILE 'ulcase1.log'SKIP 20FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'(deptno INTEGER EXTERNAL(6),dname CHAR(20),loc CHAR(25)))LOCATION ('ulcase1.csv')) REJECT LIMIT UNLIMITED;
-- 更多参见:Oracle SQL 精萃
-- 声明:转载请注明出处
-- Last edited on 2015-09-11
-- Created by ShangBo on 2015-09-11
-- End
0 0
- oracle表
- Oracle 表
- Oracle:表
- 【ORACLE】ORACLE DUAL表详解
- 【DB.Oracle】Oracle 虚拟表 dual 表
- RAM Table in Oracle(oracle内存表)
- RAM Table in Oracle(oracle内存表)
- [oracle]Oracle表空间设计理念
- 【Oracle】Oracle表空间和聚簇
- oracle tablespace&datafile -- oracle表空间
- Oracle 收缩表大小 Oracle Shrink Table
- 20151102 oracle sga管理,oracle临时表
- 【数据库】Oracle表空间和Oracle数据表
- Oracle数据库系列 - Oracle 表空间管理
- [Oracle]: 详解Oracle多种表连接方式
- oracle系统表查询
- ORACLE 表空间管理
- ORACLE 表管理
- UBIFS “UBIFS MTD device X is write-protected, attach in read-only mode”
- ftp工作原理
- model cannot be converted to JSONObject
- 支持向量机:Kernel
- Shell 脚本学习笔记-基础
- Oracle 表
- 企业运营对 DevOps 的「傲慢与偏见」
- ClipToBounds
- ISP接口隔离原则
- java 笔记
- 杨氏矩阵 Young Tableau
- Mybatis通用Mapper
- 斯坦福大学自然语言处理第四课“语言模型(Language Modeling)
- 9-基于LDA的Topic Model变形