oracle在插入数据的时候有2种方式:
1.如果在hwm前面存在空余的空间,数据将会直接在hwm(高水位线)前面空余的空间插入
同时将会受到数据完整性约束的影响。
SQL> create table bt as select * from all_objects where 1=0;
Table created.
SQL> select count(*) from all_objects;
COUNT(*)
----------
30645
SQL> insert into bt select * from all_objects;
30645 rows created.
SQL> select count(*) from bt;
COUNT(*)
----------
30645
注意:在这里我还没有commit,我用select语句查看可以执行
2.direct-path insert 也就是直接插入的方式。它不会考虑hwm前面是否有空余的空间,它会直接在hwm后面直接插入。如果commit后会直接通过buffer cache 写进数据文件,它不会等带checkpoint的时候才写数据到数据文件。
这种方式有2种模式:serially(串行),parallel(并行)
a serially direct load
SQL> commit;
Commit complete.
SQL> select count(*) from bt;
COUNT(*)
----------
30645
SQL> insert /*+append */ into bt select * from all_objects;
30645 rows created.
SQL> commit;
Commit complete.
SQL> select count(*) from bt;
COUNT(*)
----------
61290
注意:在这里我还没有commit的时候它是不可以select的,一旦我commit后就可以用select查看了
b. parallel direct load
--创建分区表
SQL> create table emp (empno number,empname varchar2(20))
2 partition by hash(empno)
3 (partition part1,
4 partition part2)
5 /
Table created
SQL> col object_name format a40
SQL> select object_name,object_type from user_objects;
OBJECT_NAME OBJECT_TYPE
---------------------------------------- ------------------
EMP TABLE PARTITION
EMP TABLE PARTITION
EMP TABLE
T TABLE
--修改session打开并行
SQL> alter session enable parallel dml;
Session altered.
--parallel(u1.bt,2) 2表示打开2并行度
SQL> insert /*+parallel(u1.bt,2) */ into u1.bt nologging
2 select * from user_objects;
13925 rows created.
SQL> select count(*) from u1.bt;
COUNT(*)
----------
13925
SQL> commit;
Commit complete.
SQL> select count(*) from u1.bt;
COUNT(*)
----------
13925
分享到:
相关推荐
这个是我学习网上的视频做的oracle笔记,对于oracle一窍不通的菜鸟可能有用吧,大家有需要可以看看
李兴华Oracle全部笔记是一份详细记录了Oracle相关知识的学习资料,涵盖了从基础概念到高级特性的全面讲解。这些笔记可能是李兴华在深入研究Oracle后的心得体会,对于想要学习或提升Oracle技能的人来说是一份宝贵的...
标题“2011Oracle笔记(李兴华视屏教程笔记)”揭示了文档的用途,它是作为2011年李兴华Oracle教学视频课程的学习笔记。这种笔记通常包括了课程中的重点概念、Oracle数据库基础知识、实际操作案例以及配合视频教程的...
### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...
### 韩顺平Oracle笔记知识点详解 #### 一、Oracle认证及与其他数据库的比较 - **Oracle认证**:Oracle提供了多种级别的认证体系,包括OCA(Oracle Certified Associate)、OCP(Oracle Certified Professional)、...
在这个"oracle sqlload loaddata.ctl 使用例子"中,我们将深入探讨如何利用SQL*Loader将文本文件(如"data.txt")中的数据高效地加载到Oracle数据库中。 首先,`loaddata.ctl`是SQL*Loader的数据装载控制文件,它是...
《MLDN最经典的ORACLE笔记》是李兴华老师倾力打造的一份全面而深入的Oracle学习资源,专为对数据库技术感兴趣的读者精心准备。Oracle作为全球广泛使用的数据库管理系统,其强大功能和复杂性使得深入理解和掌握Oracle...
马士兵oracle笔记,浅显易懂。
这篇史上最全的Oracle笔记将为你提供全面的学习指导。 一、数据库基础 数据库(DataBase)是存储数据的系统,Oracle数据库允许用户以表格的形式组织和管理数据。在Oracle中,数据主要以表的形式存在,表是数据库中...
达内(Tarena)是一家知名的IT教育机构,他们提供了关于Oracle的学习资源,包括笔记和PPT课件,帮助学员深入理解Oracle数据库的原理与操作。这些资料通常会涵盖Oracle数据库的基础知识、SQL查询语言、数据管理、...
根据提供的信息,我们可以总结出以下关于Oracle的相关知识点: ### Oracle基础知识与分类 #### DDL (Data Definition Language) 数据定义语言 - **DDL** 主要用于创建、修改或删除数据库对象,如表、索引等。 ###...
oracle笔记创建和管理表,增加列,删除列,修改列,修改列名和数据类型和长度,修改表名等等操作,有代码案例!
本资源“oracle笔记+资料.rar”包含了丰富的Oracle学习资料,适合不同水平的学习者,无论你是初学者还是资深DBA,都能从中受益。下面将详细解析其中可能涵盖的知识点。 1. **Oracle基础知识**:这部分内容可能会...
oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记...
在Oracle学习笔记中,我们关注的关键概念主要包括以下几个方面: 1. **数据缓冲区**:这是Oracle内存架构的重要组成部分,用于存储从磁盘数据文件中读取的数据。所有用户共享这个缓冲区,当数据被服务器进程读入后...
其中,“i”在Oracle8i中表示增加了对Internet的支持,Oracle9i则是Oracle8i的稳定版本,而Oracle10g是基于网格计算技术的版本,Oracle11g是10g的稳定版本,Oracle12C则是支持云计算概念的最新版本。在初学者阶段,...
Oracle学习笔记 Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接...
根据给定的文件信息,以下是从“韩顺平老师oracle笔记”中提炼出的关键知识点,主要涉及Oracle数据库的基础概念、用户管理以及SQL*Plus的基本操作。 ### Oracle数据库基础 1. **Oracle数据库的角色与权限**: - *...
这份"Oracle笔记详解资料用例"涵盖了Oracle数据库的核心概念、安装配置、SQL语言、表和索引、存储结构、备份恢复、性能优化等多个方面,是学习和掌握Oracle数据库的宝贵资源。 首先,Oracle数据库的基础部分包括...
比较全的Oracle学习笔记