`
Zhongwei_leg
  • 浏览: 555921 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

在 merge 两个表时的 insert, update 顺序问题

 
阅读更多
经常会遇到将“临时表”与“目标表”merge 的情况,这里 merge_insert 与 merge_update 有一点讲究。

是先 insert 还是先 update,这是个问题。

假设“目标表”的索引 id 为 1 ~ 10,“临时表”的索引 id 为 10,11.

假设1:
先 insert 后 update:
a. 11 被插入。
b. 10, 11 都被 update。

假设2:
先 update 后 insert:
a. 10 被更新。
b. 11 被插入。

所以, 为了减少数据库操作时间要先 Update 后 insert。
0
0
分享到:
评论

相关推荐

    MySQLMerge存储引擎

    为此,Merge表的定义中可以包含一个INSERT_METHOD选项,该选项有NO、FIRST和LAST三个值,分别表示禁止INSERT操作、将数据插入到UNION的第一个表或最后一个表。例如,以下SQL语句指定了新数据将添加到UNION列表中的...

    Mysql的MERGE存储引擎详解

    在使用MERGE存储引擎时,首先需要确保所有参与合并的MyISAM表都有相同的列定义、列顺序、索引结构以及数据类型。例如,创建一系列名为log_YYYY的日志表,每个表都有两个字段:dt(日期时间)和info(信息),并有一...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习Oracle为提升语言效率而加入的支持特性,进而将两者综合考虑并在工作中加以应用。作者通过总结各自多年的软件开发和教学培训经验,与大家...

    kettle两表完全同步.docx

    在"Kettle两表完全同步.docx"的场景中,我们关注的核心是如何使用Kettle来实现两个数据表之间的完全同步,包括数据的增删改操作。以下是对这个主题的详细解释: 1) **数据匹配条件**: 在进行同步之前,首先要确保...

    算法-leetcode-剑指offer上的题很多

    - **两数之和(2 Sum)**: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 - **数组的K个数之和(Subarray Sum K)**: 给定一个整数数组和一个整数 k,...

    Oracle Sql基础 Oracle Sql基础 Oracle Sql基础

    - 在某些情况下,如使用INSERT、UPDATE、DELETE语句时,Oracle会自动开始一个新的事务。 **7.12 读一致性** - 为了确保事务的一致性,Oracle提供了多种机制来保证读取数据的一致性。 **7.13 锁定** - **7.13.1 ...

    Oracle考试题.docx

    在这个例子中,第C行的写法存在问题,因为在连接两个表时,应当使用`AND`关键字来连接条件,而不是直接使用逗号分隔。 ### 11. PL/SQL语言 #### 11.1 PL/SQL的特点 - **知识点解释**:题目中提到了在Oracle数据库...

    SQL Server索引基础知识.pdf

    - **Merge Join**: 在连接之前先对两个表进行排序,然后从两个已排序的表中取出一行并进行比较,以找到匹配项。这种方法在两个表都已经排序时非常有效。 #### SQL Server中约束的介绍 - **主键约束** (`PRIMARY ...

    Oracle9i培训胶片中文版12基本的DDL和DML介绍caith.ppt

    5. MERGE:Oracle 9i引入的合并语句,结合了INSERT、UPDATE和DELETE的功能,可以根据条件从源表更新或插入到目标表。 在编写SQL语句时,需要注意以下几点: - SQL语句不区分大小写,但为了代码的可读性,通常建议...

    oracle手册

    - CONCAT:连接两个或多个字符串,等同于使用 `||` 运算符。 - SUBSTR:从字符串中提取子串。 - LENGTH:计算字符串的长度。 - INITCAP:将字符串中每个单词的首字母大写,其余字母小写。 - INSTR:查找一个...

    百万数据查询优化技巧三十则

    - **考虑因素**:除了查询优化之外,还应当注意优化 `INSERT` 和 `UPDATE` 操作,特别是当这些操作频繁发生时。 - **技巧**:对于批量插入或更新操作,可以考虑使用批处理方式,例如使用 `BULK INSERT` 或 `MERGE` ...

    OCA认证考试指南1Z0-051

    7.4 生成两个或者更多表的笛卡尔乘积 7.5 认证小结 7.6 本章 测试题 7.6.1 自测题 7.6.2 实验题 7.6.3 自测题答案 7.6.4 实验题答案 第8章 使用子查询解决问题 8.1 定义子查询 8.2 描述子查询能够解决...

    oracle入门教程pdf

    数据操作语句包括`INSERT`、`DELETE`、`UPDATE`和`MERGE`,它们分别用于向表中添加新行、删除现有行、更新现有行的数据,以及根据匹配条件合并两表数据。 ### 事务处理 事务是一组不可分割的操作单元,必须作为一...

    02_Oracle_Royallin.pdf

    - **3.4.4.3 全外连接:** 包含两个表中的所有行。 - **3.4.5 自连接:** 表自身之间的连接。 - **3.4.6 交叉连接:** 类似于笛卡尔积。 **3.5 表连接方式总结** - 内连接返回两个表中匹配的行;外连接包括左外...

    各种oracle指南

    - **MERGE语句**:用于合并两个或多个表中的数据。 - **事务(transaction)**:一组SQL语句作为一个单元执行,要么全部成功,要么全部失败。 **2.4 创建和管理表** - **表(TABLE)**:基本的存储单位,由行和列...

    数据库基础数据库事务处理.pptx

    结论:取款和存款两个步骤在一个事务处理中进行或者不执行任何步骤,否则帐户的数据会出现错误。 事务的开始和结束 开始:事务处理从第一个DML(INSERT、UPDATE、DELETE或MERGE)语句开始。结束:COMMIT得到-发出...

Global site tag (gtag.js) - Google Analytics