前言 前段时间报表数据库上有条insert sql语句,插入的大量数据,执行非常慢,需要对其进行分析优化. 分析步骤是在:ARCHIVE与NOARCHIVE模式下进行. 测试场景: 分别对表的常规插入,表在append插入,表在append + parallel插入进行性能测试,得出结果. 环境准备 数据库版本 基础表 nologging表 logging表 Oracle 11g T1 T2 T3 #创建T1,T2,T3表 create table t1 as select * from dba…
背景 在一条记录完结时,自动向表中加入一条新的记录,采用的是事务处理,修改现有记录,并新增一条记录,直接采用的insert语句会报错 //主键冲突 unique constraint (XXXXXX) violated 其实没有主键冲突,但是不知道为什么它会报错,并且插入也是成功,也就说,插入成功还抛出异常,很懵逼 解决思路 插入的时候判断该记录是否存在,然而我们通常使用where都是在查.改.删,很少在增中使用where. 一通倒腾 insert into 'tablename' (colum…
1 insert语句 insert语句用于插入数据到表中,其基本语法有以下三种: Syntax: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [PARTITION (partition_name [, partition_name] ...)] [(col_name [, col_name] ...)] {VALUES | VALUE} (value_list) [, (value_list)]…
(非归档模式下)创建表T01: SQL> create table t01 as select * from dba_objects where 1=2; Table created. (非归档模式下)查看当前redo大小: SQL> select value 2 from v$mystat,v$statname 3 where v$mystat.statistic#=v$statname.statistic# 4 and v$statname.name='redo size' 5 / VAL…
从网上找到的方法,不过很不错,记录下来,也算是分享下~~ 有一个表,city,有列:cityID,cityName;将此表中所有数据,变为insert语句 select 'insert into tableName (cityID,cityName) values ('''+cityID+''','''+cityName+''')' as sqlStr from city; 这样就可以了; 如果在列中有其他类型,这样写会报错,可以用这个方法转换一下,STR(cityID,LEN(cityID))…
Build Insert Statements for the Existing Data in Tables 下面这个脚本实现了取得一个非空表中的所有insert语句 This script builds insert statements for the existing data in the tables. One can run the generated script to repopulate the data. -- By: Ashish Kumar -- Date Create…
例如:这SQL   Sever中的一张数据表,想要将这张数据表中的数据  转化成一个一个的insert语句存储在txt的文档中,那么不论走到那里这个insert语句一执行,我们就能将这个数据表中的数据插入到另一个地方了. 1>在新建查询中,创建一个对象,这个对象就是用来产生这个对象的,名字叫proc_insert,我们可以创建多个不重名的对象,当然也可以删除这个对象. )) as begin set nocount on ) ) ) select @sqlstr='select ''insert…
在正文开始之前,我们先看一下MSSQL的两张系统表sys.objects . syscolumnsMSDN中 sys.objects表的定义:在数据库中创建的每个用户定义的架构作用域内的对象在该表中均对应一行.        sys.syscolumns表的定义:为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行. 第一个表作用是存储所有的表数据的,包括我们新建的表.视图.存储过程等.第二个表作用是存储表的列名.存储过程的参数等. 有了以上两个表的数据我们就可以开始我们的工…
select into from和insert into select from两种表复制语句都是将源表source_table的记录插入到目标表target_table,但两句又有区别. 第一句(select into from)要求目标表target_table不存在,因为在插入时会自动创建. select * into target_table from source_table; 第二句(insert into select from)要求目标表target_table存在,由于目标表已…
/* 对象:导出物理表数据为Insert语句 描述:可以传递条件精确导出sql 加条件的前提是只知道相应的字段名及类型 */ from sysobjects where name ='proc_insert' and xtype ='P') drop proc proc_insert go Create proc [dbo].[proc_insert] ( ) --表名 ,) --查询条件,and开头 ) as begin set nocount on declare @sqlstr varch…