oracle插入性能优化,Oracle- insert性能优化

看见朋友导入数据,花了很长时间都没完成!其实有很多快速的方法,整理下!

4a89480f9fb505d3bba7717a566df3dc.png

向表中插入数据有很多办法,但是方法不同,性能差别很大.

----1.原始语句

drop table t1 purge;

create table t1

(

sid number,

sname varchar2(20)

) tablespace test;

create or replace procedure proc01

(

sname varchar2

)

as

begin

for i in 1..10000000

loop

execute immediate

'insert into t1(sid,sname) values('||i||','''||sname||''')';

commit;

end loop;

end;

/

alter system flush shared_pool;

set timing on;

exec proc01('ocpyangtest');

已用时间: 02: 02: 54.12

----2.绑定变量

drop table t1 purge;

create table t1

(

sid number,

sname varchar2(20)

) tablespace test;

create or replace procedure proc02

(

sname varchar2

)

as

begin

for i in 1..10000000

loop

execute immediate

'insert into t1(sid,sname) values(:no'||','''||sname||''')' using i;

commit;

end loop;

end;

/

alter system flush shared_pool;

set timing on;

exec proc02('ocpyangtest');

已用时间: 00: 22: 59.79

select count(*) from t1;

----3.静态语句

drop table t1 purge;

create table t1

(

sid number,

sname varchar2(20)

) tablespace test;

create or replace procedure proc03

as

begin

for i in 1..10000000

loop

insert into t1 values(i,'ocpyangtest');

commit;

end loop;

end;

/

alter system flush shared_pool;

set timing on;

exec proc03;

已用时间: 00: 20: 42.42

select count(*) from t1;

----4.批量提交

drop table t1 purge;

create table t1

(

sid number,

sname varchar2(20)

) tablespace test;

create or replace procedure proc04

as

begin

for i in 1..10000000

loop

insert into t1 values(i,'ocpyangtest');

end loop;

commit;

end;

/

alter system flush shared_pool;

set timing on;

exec proc04;

已用时间: 00: 11: 48.42

----5.集合

drop table t2 purge;

create table t2

(

sid number,

sname varchar2(20)

) tablespace test;

alter system flush shared_pool;

select count(*) from t1;

set timing on;

insert into t2 select sid,sname from t1;

已用时间: 00: 01: 02.18

commit;

select count(*) from t2;

----6. 集合+append

drop table t2 purge;

create table t2

(

sid number,

sname varchar2(20)

) tablespace test;

alter system flush shared_pool;

select count(*) from t1;

set timing on;

insert /* + append */ into t2 select sid,sname from t1;

已用时间: 00: 00: 36.94

commit;

select count(*) from t2;

----7. 集合+append+nologging

drop table t2 purge;

create table t2

(

sid number,

sname varchar2(20)

) nologging tablespace test;

alter system flush shared_pool;

select count(*) from t1;

set timing on;

insert /* + append */ into t2 select sid ,sname from t1;

已用时间: 00: 00: 35.07

commit;

select count(*) from t2;

----8.数据加载1

drop table t2 purge;

alter system flush shared_pool;

select count(*) from t1;

set

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

winscp 自动断开无法连接_winscp教程,winscp教程,看完就学会的winscp教程

作为一个站长,当你的网站流量逐渐变大时,就会发现目前的主机无法满足正常需要,就要更换更高一级的云主机或VPS主机,新手就需要使用WinSCP和Putty,来管理主机。IIS7服务器管理工具可以批量管理、定时上传下载、同步操作…

oracle客户端数据恢复,AnyBackup-Oracle 数据恢复任务恢复到异客户端失败,并提示错误:数据源为空,请检查恢复环境是否授权...

关键字Oracle、数据源适用产品AnyBackup Express 7.0.6 - 7.0.8AnyBackup CDM 7.0.6 - 7.0.8问题描述登录 AnyBackup 管理控制台,依次点击定时数据保护 > 数据恢复 > 新建,新建 Oracle 数据恢复任务,选择恢复数据到异客户端&#xff0c…

linux祖先进程,Linux下的几种特殊进程

1、Linux的登录环境Linux是一个多任务多用户的操作系统,其设计初衷: 就是要达成多用户同时使用单个计算机大的任务。多用户:早期计算机资源紧张,为了让更多的人都可以使用。多任务:服务于多用户,同时提高计算机的吞吐量…

@select注解_SSM框架(十三):Spring框架中的IoC(3)新注解,完全摆脱xml文件

spring中的新注解1、Configuration作用:指定当前类是一个配置类细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时,该注解可以不写。2、ComponentScan作用:用于通过注解指定spring在创建容器时要扫描的包属性…

element ui 多个子组件_ElementUI 技术揭秘(2) 组件库的整体设计

需求分析当我们去实现一个组件库的时候,并不会一上来就撸码,而是把它当做产品一样,思考一下我们的组件库的需求。那么对于 element-ui,除了基于 Vue.js 技术栈开发组件,它还有哪些方面的需求呢。丰富的 feature&#x…

arraylist线程安全吗_Java的线程安全、单例模式、JVM内存结构等知识梳理

java技术总结知其然,不知其所以然 !在技术的海洋里,遨游!做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!本篇以一些问题开头,请先不看答案,自己思…

【GitHub精选项目】抖音/ TikTok 视频下载:TikTokDownloader 操作指南

前言 本文为大家带来的是 JoeanAmier 开发的 TikTokDownloader 项目,这是一个高效的下载 抖音/ TikTok 视频的开源工具。特别适合用户们保存他们喜欢的视频或分享给其他人。 TikTokDownloader 是一个专门设计用于下载 TikTok 视频的工具,旨在为用户提供一…

python的界面文字翻译_一个把网站全英文转成中文的方法,让你轻松看懂python官网...

近日,在看python官网(英文网站)时,使用了有道翻译工具查看了几个专有名词。无意间,有了是不是可以输入网站地址进行翻译的想法,翻译后的网站地址点击进去后,又是一个什么情况呢?小编…

drools规则引擎技术指南_物联网规则引擎技术

物联网应用程序设计与典型的IT解决方案大不相同,因为它将物理操作技术(OT)与传感器、致动器和通信设备连接起来,并将数字信息技术(IT)与数据、分析和工作流连接起来。在企业环境中,物联网非常复…

linux 2G内存够用吗,不管2G还是6G运存,为什么使用手机时都会先占用一半?

原标题:不管2G还是6G运存,为什么使用手机时都会先占用一半?以前安卓手机最大的缺陷就是运存问题,手机玩着玩着突然就运行内存不足了,为了运行更流畅手机运存从1G到2G…到8G,手机运存越来越大。但大家有没有…

c++ 写x64汇编 5参数_怀念9年前用纯C和汇编写的入侵检测软件

在翻出12年前用C#写的自我管理软件之后,进一步激发了本猫的怀旧情怀。上一篇在此:竟然无意间翻出12年前自己用C#写的程序这不,昨天竟然又找出2010年写的一款Windows系统入侵检测及防御小工具,当时命名是:NtInfoGuy!对于Windows的内部&#xf…

python怎么导入os模块_python之os模块

在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖…

ubuntu复制文件到另一个文件夹_简单介绍一下电脑中的文件或文件夹的复制、移动及删除的操作方式...

大家好,我是波仔,今天又来跟各位学电脑基础的朋友们分享知识,让我们一起来学习吧。复制文件或文件夹在我们日常操作文件或文件夹的过程中,经常会遇到需要复制一些文件或文件夹什么的,下面我们就一起来分享一下常用的几…

Windows和linux提权方法,Windows与Linux本地用户提权体验(一)

无论是Windows系统还是linux系统都是基于权限控制的,其严格的用户等级和权限是系统安全的有力保证。这么严密的用户权限是否不可逾越呢?下面笔者反其道而行之进行Windows及Linux下的提权测试。一、windows下获取至高权限大家知道,在Windows系统中SYSTEM…

三相逆变器双pi控制器参数如何调节_光伏逆变器短路特性简析

1前言短路故障相对于其他故障类型来说是比较常见的,不同的设备的短路故障,大了讲都一样,细了说各有千秋,今天我们主要聊聊光伏逆变器的短路特征。电力系统中的电源,传统意义是指的是并入电力系统的同步发电机。但随着分…

linux安装多路径报错,Linux操作系统配置多路径通用教程(适用于(RHEL,CentOS,SuSE等)...

Linux操作系统配置多路径通用教程(适用于(RHEL,CentOS,SuSE等)猫先生 • 2019 年 06 月 01 日一,安装软件1,执行以下命令,检查当前系统中是否已经安装多路径工具:rpm -qa | grep device-mapper-multipathSuSE 系统 multipath 相关…

net framework 3.5 安装错误_PageAdmin CMS建站系统报http403错误的解决方案

pageadmin CMS目前已经是国内用户最多的网站内容管理系统,但是很多新手第一次安装时候最常见的错误就是http403错误。针对这个错误,小编我整理出了常见的原因及解决方法原因1、后台站点绑定的域名和当前打开的域名不一致。解决办法:重装PageA…

java进程内存一直没释放_五分钟彻底搞懂你一直没明白的Linux内存管理

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内核态和用户态…

ehcache使用_Mybatis整合(Redis、Ehcache)实现二级缓存,恕我直言,你不会

目的:Mybatis整合Ehcache实现二级缓存Mybatis整合Redis实现二级缓存Mybatis整合ehcache实现二级缓存ssm中整合ehcache在POM中导入相关依赖org.springframework spring-context-support ${spring.version}org.mybatis.caches mybatis-ehcache 1.1.0net.s…

取证 c语言实现日志导出_日志与日志不一样:五种不能忽略的日志源

给日志源分出主次大有利于开展有效事件响应。就像分诊护士一样,安全人员也必须给数据分出个优先主次,以帮助他们更好地识别问题,使公司企业及其数据和设备能够避免入侵者和网络攻击的伤害。但是,记录和监视IT环境中的所有相关事件…