sql server merge into 与update 批量更新1 百万测试数据的性能比较
1. 1百万的测试数据的生成
declare @index int;
begin
set @index=0;
while @index<1000000
begin
insert into teptable values(@index,STR(@index)+'name',str(@index)+'appname');
set @index=@index+1;
end
end
2. merge into sql 更新语句
-- 同库数据更新
merge into teptable1 as t1
using teptable1 as t2
on t1.id=t2.id
when matched then
update set t1.name=t2.appname
when not matched then
insert
values (t2.id,t2.name,t2.appname);
-- 跨库数据更新
merge into buckinsert.dbo.teptable1 as t1
using userinfo.dbo.teptable as t2
on t1.id=t2.id
when matched then
update set t1.appname=t2.appname+'demo aaa'
when not matched then
insert
values (t2.id,t2.name,t2.appname);
以上sql 分为跨库与同库之分
3. update 批量语句 sql
update a set name = b.appname+'ssss' from teptable1 a,teptable1 b
where a.id =b.id
4. 生成的执行任务的截图
a. 使用update 的任务截图

b. merge into 的任务截图 跨库

5. 以上为测试以及sql 任务执行的图形,从中我们可以比较出一些性能上的差异
具体的一些显示的一些术语大家可以去网上搜索。
同时附上同库的任务截图

接上图

sql server merge into 与update 批量更新1 百万测试数据的性能比较的更多相关文章
- SQL Server修改表结构后批量更新所有视图
最近修改了数据库表结构,数据同步的时候出了问题,发现很多数据明明已经修改,但是通过视图筛选出来的还是原来的数据,所以怀疑应该是视图缓存了数据,在园子里找到下面的博文,在这里做个记录备忘. 原文链接:h ...
- SQL Server MERGE(合并)语句
如何使用SQL Server MERGE语句基于与另一个表匹配的值来更新表中的数据. SQL Server MERGE语句 假设有两个表,分别称为源表和目标表,并且需要根据与源表匹配的值来更新目标表 ...
- update批量更新某一列成其它列对应的值【原】
update批量更新某一列成其它列对应的值 postgresql 标准sql语句 update AA set name = BB.name , AA.sex = BB.sex from BB wher ...
- update值与原值相同时,SQL Server会真的去update还是忽略呢?
原文:update值与原值相同时,SQL Server会真的去update还是忽略呢? 考虑下面的情况: 当update值与原值相同时,SQL Server会真的去update还是忽略?例如: upd ...
- mssql sql高效关联子查询的update 批量更新
/* 使用带关联子查询的Update更新 --1.创建测试表 create TABLE Table1 ( a varchar(10), b varchar(10), ...
- SQL Server Merge语句的使用
Merge关键字在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插 ...
- SQL Server MERGE
Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根据与源 ...
- 在SQL Server中如何进行UPDATE TOP .....ORDER BY?
前言 今天在导入数据到系统后需要根据时间排序对刚导入的TOP N条进行数据更新,之前没遇到过UPDATE TOP...ORDER BY,以此作为备忘录. SQL SERVER之UPDATE TOP.. ...
- SQL Server与MySQL在“存在则更新,不存在则插入”并发处理上的一些差异。
“存在则更新,不存在则插入的逻辑”并发情况下的处理 在sqlserver中: 在sqlserver中,是通过可序列化隔离级别+排它锁的方式来锁定一个范围来实现的当前锁定一个不存在的记录的时候,sqls ...
随机推荐
- 43 HTML CSS
第一部分: 1.meta 标签中:meta 标签中 <meta http-equvi = "refresh" content="2;URL= https://www ...
- robot framework学习笔记2
声明:本笔记都只是自己根据大牛虫师的robot系列文档学习记录的,学习的话还请移步虫师博客:https://www.cnblogs.com/fnng/ 非常感谢大牛的分享,带小白一步一步入门 F5 ...
- python-day14--带参数的装饰器+多个装饰器装饰同一个函数
1.# 带参数的装饰器def f1(flag): def f2(func): def inner(*args,**kwargs): if flag: '''执行函数之前要做的''' r=func(*a ...
- 二分求LIS并打印结果
1275: God's ladder [DP] 时间限制: 1 Sec 内存限制: 128 MB Special Judge 题目描述 天明来到神之宫殿,在他眼前出现了若干个石柱,每个石柱上有1枚金 ...
- Eclipse用了官方汉化后,无法输入
解决方法:Rclipse右键→属性→兼容性→windows vista
- Winform中用comboBox来选择显示Dataset中表格数据
这是一次偷懒的尝试,因为每次都必须打开代码,调试才能看见数据,发现问题.也是借鉴了调试中查看dataset数据的模式,查看不同表格.经历一番研究,总算实现了想要的效果了,故作此一笔记.与人共享. 界面 ...
- spoj375
题解: 树链剖分的模板题 具体代码详见网上的其他代码 代码: #include<cstdio> #include<cmath> #include<cstring> ...
- Nutch相关视频教程3
参考: http://www.cnblogs.com/huligong1234/p/3515214.html
- Java——多线程面试问题
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- Python3 文件操作(十六)
一 文件操作 1.介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...