Oracle 插入数据效率对比
oracle插入数据有多种方式:
将从多个表中查出来的数据插入到临时表中
数据行数 5189597
1.传统方式:直接将数据插入到表中
insert into LLB_BASIC_USER_D_TEMP_TEST
select t.serv_id,
t.phone_id,
a1.loc_imei t,
region_code,
t.county_code,
t.payment_mode_cd,
t.plan_id,
t.productflux,
t.allflux,
t.netuse / 1024 / 1024,
t.lj_sn_roam_flux / 1024 / 1024,
t.lj_sj_roam_flux / 1024 / 1024,
a.llb_jcb,
a.llb_jcb_flux,
a.llb_bd,
a.llb_bd_flux,
a.llb_gn,
a.llb_gn_flux,
a.llb_xs,
a.llb_xs_flux,
a.llb_xy,
a.llb_xy_flux
From llb_basic_temp1 t,
LLB_BASIC_PACK_ORDER_info a,
llb_phone_imei a1
where t.phone_id = a.phone_id(+)
and t.phone_id = a1.accs_nbr(+);
耗时41秒
2.用Hint 提示减少操作时间
insert /*+ Append*/ into LLB_BASIC_USER_D_TEMP_TEST
select t.serv_id,
t.phone_id,
a1.loc_imei t,
region_code,
t.county_code,
t.payment_mode_cd,
t.plan_id,
t.productflux,
t.allflux,
t.netuse / 1024 / 1024,
t.lj_sn_roam_flux / 1024 / 1024,
t.lj_sj_roam_flux / 1024 / 1024,
a.llb_jcb,
a.llb_jcb_flux,
a.llb_bd,
a.llb_bd_flux,
a.llb_gn,
a.llb_gn_flux,
a.llb_xs,
a.llb_xs_flux,
a.llb_xy,
a.llb_xy_flux
From llb_basic_temp1 t,
LLB_BASIC_PACK_ORDER_info a,
llb_phone_imei a1
where t.phone_id = a.phone_id(+)
and t.phone_id = a1.accs_nbr(+);
耗时33秒
3.采用不写日志及使用Hint提示减少数据操作的时间
alter table [table_name] nologging;
alter table [table_name] logging;
耗时32秒
对比一下,使用hint提示是时间最快的方式,但是append会锁表,再插入期间不能使用该表。
Oracle 插入数据效率对比的更多相关文章
- android批量插入数据效率对比
对比在android中批量插入数据的3中方式对比(各插入1W条数据所花费的时间): 1. 一个一个插入 /** * 向表中插入数据 * * @param openHelper * @param app ...
- ThinkPHP 3.2.3+ORACLE插入数据BUG修复及支持获取自增Id的上次记录
TP+ORACLE插入数据BUG修复以及获取自增Id支持getLastInsID方法 这些天在做Api接口时候,发现用TP操作Oracle数据库,发现查询修改删除都能执行, 但一旦执行插入操作老是报错 ...
- JDBC向oracle插入数据
public static void main(String[] args) throws SQLException { 2 3 4 String driver="oracle.jdbc.d ...
- oracle插入数据的时候报错:ORA-00928: 缺失 SELECT 关键字
比如:插入数据的时候是这样的insert into a value('哈哈'); 报的是这样的错误:ORA-00928: 缺失 SELECT 关键字 其实就是value少了一个s,在oracle中,插 ...
- java批量向oracle插入数据
由于项目需要,需要将一个6M的txt中的数据插入到oracle数据表中.txt中的数据是每行一个词.经过统计,词总数是505040.为了看起来方便,我将我的所有方法写在类入口中,数据库的信息我会用te ...
- oracle插入数据
插入数据 insert into comm_error_code_def (ID, ERR_MESSAGE, ERR_CODE, ERR_DESC, NAME, MISC_DESC, STATUS, ...
- oracle插入数据问题
这个是我的表结构:desc T_STUDENT;Name Type Nullable Default Comments ------------ ----------- ...
- Oracle 逐条和批量插入数据方式对比
创建测试表 create table base_users ( userid varchar2(16), username varchar2(32), passwd var ...
- JDBC批量插入数据效率分析
对于需要批量插入数据库操作JDBC有多重方式,本利从三个角度对Statement和PreparedStatement两种执行方式进行分析,总结较优的方案. 当前实现由如下条件: 执行数据库:Mysql ...
随机推荐
- JavaScript 作用域和变量提升
本文是这篇文章的简单翻译. 如果按照下面的代码按照JavaScript程序的执行方式执行,alert函数会显示什么? var foo = 1; function bar() { if (!foo) { ...
- in an effort to
What does "in an effort" to mean? I personally consider in an effort to a stock phrase1. T ...
- USACO3.43Electric Fence(pick定理)
忘记pick定理是什么了 想枚举来着 ..没枚出来 有篇pick定理的证明 貌似挺好 也没太看懂 /* ID: shangca2 LANG: C++ TASK: fence9 */ #include ...
- (转载)顺序栈c++实现
(转载)http://myswirl.blog.163.com/blog/static/51318642200882310239324/ SqStack.h********************** ...
- (转载)mysql分屏显示结果
(转载)http://blog.csdn.net/wylkeke/article/details/7280645 linux机器: 在mysql命令行输入pager more就可以分屏显示结果了,取消 ...
- VS2015连接Oracle数据库(转)
原文地址:https://xuanwo.org/2016/01/03/vs-oracle-11g 开发环境 宿主机:Win10 + VS2015 + ODP.Net for VS2015虚拟机:Win ...
- handlebars模板库的资源
web 开发中,js 解析JSON 是经常的事情.非常繁琐.handlebars 使用了模版,只要你定义一个模版,提供一个json对象,handlebars 就能吧json对象放到你定的模版中,非常方 ...
- CG&Game资源(转)
cg教程下载: http://cgpeers.com http://cgpersia.com http://bbs.ideasr.com/forum-328-1.html http://bbs.ide ...
- PHP向MySql中插入数据
<!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Prope ...
- HTTPS、SSL与数字证书介绍
在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 名词解释 HTTPS:在HTTP(超文本传输协议)基础上提出的一种安全 ...