关于自己学到的批量绑定

使用VALUES将数据插入到数据库表中,每次只能插入一条数据。

下面使用循环插入500000条数据到表MEMO中

declare  type

id_table_type is table of number

index by binary_integer;

name_table_type is table of varchar2(20)

index by binary_integer;

id_table id_table_type ;

name_table name_table_type ;

begin

for i in 1..500000 loop

id_table(i):=i;

name_table(i):=‘name:‘||i;

end loop;

for i in 1..id_table.count loop

insert into memo(id,name) values(id_table(i),name_table(i));

end loop;

end;

自己测试了一下,改方法大约用了21秒。

如果使用批量绑定:

declare  type

id_table_type is table of number

index by binary_integer;

name_table_type is table of varchar2(20)

index by binary_integer;

id_table id_table_type ;

name_table name_table_type ;

begin

for i in 1..500000 loop

id_table(i):=i;

name_table(i):=‘name:‘||i;

end loop;

forall i in 1..id_table.count

insert into memo(id,name) values(id_table(i),name_table(i));

end;

时间大约是2.7秒。

关于自己学到的批量绑定

时间: 2024-10-21 20:59:08

关于自己学到的批量绑定的相关文章

使用Bulk Binding批量绑定的模式高效处理ORACLE大量数据

       用批量绑定(bulk binding)的方式.当循环执行一个绑定变量的sql语句时候,在PL/SQL 和SQL引擎(engines)中,会发生大量的上下文切换(context switches).使用bulk binding,能将数据批量的从plsql引擎传到sql引擎,从而减少上下文切换过程,提升效率.        在Oracle使用过程中经常会遇到需要插入大量数据的情况,这种情况下就可以使用Bulk Binding插入数据. 参考资料:Oracle逐行提交.批量提交及极限提速

jquery批量绑定click事件

jquery批量绑定click事件: var selects = $(".public_select dd ul li"); debugger; /*$(".public_select dd ul li a").each(function(){ /!*$(this).click(function(){ alert("aa"); })*!/ alert("cc"); $(this).bind("click",

一起学Vue之样式绑定

在前端开发中,设置元素的 class 列表和内联样式是基本要求.本文主要讲解Vue开发中,样式列表和内联样式的绑定,仅供学习分享使用,如果有不足之处,还请指正. 概述 Vue操作元素的 class 列表和内联样式是数据绑定的一个常见需求.因为它们都是属性,所以我们可以用 v-bind 处理它们:只需要通过表达式计算出字符串结果即可.不过,字符串拼接麻烦且易错.因此,在将 v-bind 用于 class 和 style 时,Vue.js 做了专门的增强.表达式结果的类型除了字符串之外,还可以是对象

ORACLE批量绑定FORALL与BULK COLLECT

FORALL与BULK COLLECT的使用方法: 1.使用FORALL比FOR效率高,因为前者只切换一次上下文,而后者将是在循环次数一样多个上下文间切换. 2.使用BLUK COLLECT一次取出一个数据集合,比用游标条取数据效率高,尤其是在网络不大好的情况下.但BLUK COLLECT需要大量内存. 例子: Sql代码   create table test_forall ( user_id number(10), user_name varchar2(20)); select into 中

JS批量绑定事件

var a = [1,2,3,4,5] for(var j in a){ $("#" + j).click(function () { // 前提是先动态生成id是j的标签 var id_cm = $(this).attr("id"); // 注意参数要获取当前点击标签的id,不要传j,因为当点击标签时j始终是5(就是最后一个值),可以自己去验证. iota(id_cm); }) } function iota(id){ console.log(id) } 原文地址

zabbix 二次开发之同步CMDB主机和模板绑定

最近在做zabbix的二次开发:发现zabbix在做自动化方便提供了强悍的支持,下面分享下CMDB和zabbix打通,把CMDB平台里面的所有机器同步到zabbix数据库,然后进行批量的模板绑定: 开发环境: zabbix :2.4 python:flask框架.前端bootstrap,jquey: 实现思路: 一. 在CMDB表和ZAbbix主机表里面建立第三张管理的表(定义叫缓存表):利用zabbix API把数据库里面的host插入到第三张缓存表:然后通过和CMDB库里面的比较把没有在缓存

java批量插入数据进数据库中

方式1: for循环,每一次进行一次插入数据. 方式2: jdbc的preparedStatement的batch操作 PreparedStatement.addBatch(); ...... PreparedStatement.executeBatch(); 一次最多不要超过50条:1.因为当你插入的时候 数据库已经锁定,然而如果你一次性插入太多会造成其他业务的等待.2.会造成内存的溢出 方式2的本质是:insert into table (a,b,c,d) values(av,bv,cv.d

Xamarin.Android广播接收器与绑定服务

一.前言 学习了前面的活动与服务后,你会发现服务对于活动而言似乎就是透明的,相反活动对于服务也是透明的,所以我们还需要一中机制能够将服务和活动之间架起一座桥梁,通过本节的学习,你将会学到广播与绑定服务,这两种方式恰恰是解决上面问题的关键. 二.简单的广播接收器 实现一个最简单的广播接收器需要继承BroadcastReceiver类,并且还要实现OnReceive方法,我们可以在项目中新建一个MainReceiver类,然后写入如下代码: 1 public class MainReceiver :

Cocos2dx-lua开发之c++绑定到lua

一. 简单介绍 文章介绍是在实际的游戏开发项目中,将自定义的C++类绑定到lua中,能够让lua调用c++类.会创建一个python脚本,执行python脚本会让自动将我们的c++类绑定到lua.生成我们要的代码.文章会介绍配置环境.编写脚本.测试类.实际项目中调用,以及一些遇到的问题 二.兵马未动粮草先行 当前我用的是quicklua 3.3 win7系统.下载需要的工具 可以先看一下 \tools\tolua \README.mdown里面有详细介绍,而且都有下载地址 我现在是win系统,翻