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 ...
随机推荐
- hdu 2460
这是一道双联通分量的题,要用到LCA算法: 听说这个算法有两种实现方式:一个是dfs+线段树或着RMQ;一个是用tarjin: 我用的是tarjin: 题目比较简单,就是每次加了一条边之后剩下的桥的个 ...
- 安装Chive提示CDbConnection failed to open the DB connection.
最近初学PHP,看到Chive这个好玩的数据库管理工具,在登录时遇到这样的错误提示信息: CDbConnection failed to open the DB connection. 我的PHP版本 ...
- Linux查看硬件信息,主板型号及内存硬件,驱动设备,查看设备,查看CPU。
用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart) 查看CPU信息:cat /proc/cpuinfo 查看板卡信息:cat /proc/pci 查 ...
- Python 几个重要的内置函数
所谓内置函数,就是在Python中被自动加载的函数,任何时候都可以用.内置函数,这意味着我们不必为了使用该函数而导入模块.不必做任何操作,Python 就可识别内置函数.在学习Python的过程中,有 ...
- Beta Round #9 (酱油杯noi考后欢乐赛)随机数生成器
题目:http://www.contesthunter.org/contest/Beta%20Round%20%EF%BC%839%20%28%E9%85%B1%E6%B2%B9%E6%9D%AFno ...
- opengl学习
#include"stdafx.h" #define GLUT_DISABLE_ATEXIT_HACK #include <GL/glut.h> //glut自动将gl ...
- bat处理打开关门exe
@echo off rem rem 注释 tastkill /f /im a.exe cd %CD% %CD:~0,1%: cd %Cd%b start %CD%a.exe cd .. %CD:~0 ...
- FZOJ--2221-- RunningMan 福建第六届省赛
题目链接:http://acm.hust.edu.cn/vjudge/contest/127149#problem/J 题目大意: 因为总共就分三个队,因为两个队都要选取最优的策略,不论B队咋放,要使 ...
- php 正则校验是否是域名
/** * @description 匹配 * t.cn 正确 * t-.cn 错误 * tt.cn正确 * -t.cn 错误 * t-t.cn 正确 * tst-test-tst.cn 正确 * t ...
- 树的最大深度 leecode java
秒杀/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode ...