`
peijunlin2008
  • 浏览: 171185 次
  • 性别: Icon_minigender_1
  • 来自: 河北省
社区版块
存档分类
最新评论

UPDATE 语句性能优化(批量更新)

阅读更多
UPDATE (
    select   gr.gr_sfz  ,s.sfz   
from gerenkehu gr ,fw_bz s 
     where gr.gr_id=s.code 
   and s.sfz is not null) 
set gr_sfz=sfz;


执行报错:ORA-01779 无法修改与非键值保存表对应的列

分析:构建中间表更新的方式,要求 关联条件的键值必须是唯一值
create unique index IX_FW_BZ_CODE on FW_BZ (CODE);


使用BYPASS_UJVC强制执行,BYPASS_UJVC可以跳过Oracle的键检查.
SQL> UPDATE
  2  (
  3    SELECT /*+BYPASS_UJVC*/ A.ID AI,A.GENDER AG,B.ID BI,B.GENDER BG FROM TEST1 A,TEST2 B WHERE
  4    A.ID = B.ID
  5  )
  6  SET AG = BG;

2 rows updated.
虽然这样可以执行,但是test2中存在不唯一的数据,所以test1可能被更新多次.

分享到:
评论

相关推荐

    update语句的优化-oracle

    三、批量更新 对于大量相似的更新操作,可以考虑使用BULK COLLECT和FORALL语句进行批量处理,以减少网络和数据库调用的开销: ```sql DECLARE TYPE col_table IS TABLE OF table_name.column_name%TYPE INDEX BY ...

    ibatis应对批量update

    6. **性能优化**: - 减少网络传输开销,尽可能减少与数据库服务器之间的交互次数。 - 合理设置批处理的大小,过大过小都会影响性能。 - 对于非常大的数据集,考虑分批次进行批量更新。 通过上述步骤,我们可以...

    C# sqlite 批量更新及性能测试

    本文将深入探讨如何在C#中进行SQLite批量更新操作,并对其进行性能测试,以便优化数据库处理效率。 首先,我们需要引入SQLite的.NET数据提供程序,这通常通过NuGet包管理器来实现。安装`System.Data.SQLite`库后,...

    ORACLE多表关联的update语句

    可以使用以下UPDATE语句批量更新这些记录: ```sql UPDATE customers SET city_name = '北京' WHERE customer_id ; ``` 2) 两表关联 UPDATE - 在 WHERE 子句中的连接: 如果我们想要更新`customers`表中与`tmp_...

    ORACLE UPDATE 语句语法与性能分析看法

    例如,在上述例子中,由于客户所在城市的初始信息可能不准确,可以通过`UPDATE`语句批量更新这些信息。如: ```sql UPDATE customers SET city_name = '北京' WHERE customer_id ; ``` 这里,`WHERE`子句用于限定...

    10万条数据下MySQL批量更新6种方式的性能测试.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    ORACLE_UPDATE_语句语法与性能分析

    - **批量操作**:如果可能,考虑批量更新,如使用BULK COLLECT INTO和FORALL操作。 - **物化视图**:对于频繁更新的部分数据,创建物化视图可以提高查询效率。 总之,Oracle UPDATE语句的语法和性能取决于许多因素...

    Spring Boot性能优化:批量更新技术详解与效率提升指南.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    Mysql Update批量更新的几种方式

    在MySQL中,批量更新数据是常见的操作,尤其在处理大量数据时,效率...总之,了解并掌握这些批量更新技巧对于优化数据库操作和提升系统性能至关重要。通过合理选择和组合这些方法,可以有效地处理大规模数据更新任务。

    Spring Boot中六种批量更新策略:效率对决与实测.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    springboot mysql 批量更新 springboot batch批量更新.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    性能实测:Spring Boot中六种批量更新技术谁更快?.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    MyBatis-Plus批量更新优化技巧与案例分析.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    批量更新两种方法实践

    合理地选择和优化批量更新策略,能显著提升系统的处理能力。同时,需要注意的是,批量更新可能会引发并发控制和数据一致性问题,因此需要正确设置事务隔离级别,并考虑使用乐观锁或悲观锁来防止数据冲突。 综上所述...

    PLSQL 语句优化

    2. **使用 FORALL 执行批量更新或插入**:FORALL 语句可以用于一次性执行多个 DML 操作。 - **示例**:`FORALL i IN 1..v_employees.COUNT UPDATE employees SET salary = salary * 1.1 WHERE employee_id = v_...

    从效率角度看6种MySQL批量更新方式的优劣.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    Spring Boot框架下高效批量更新实践.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    Spring Boot数据库批量更新:六种方案,一场效率之战.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    批量更新历史数据 每10000提交一次

    本主题聚焦于“批量更新历史数据每10000提交一次”的实践方法,这涉及到数据库操作优化、事务管理以及代码实现等技术细节。 首先,批量更新是为了避免频繁的小规模数据库交互,因为每次交互都会带来一定的开销,如...

    springboot 批量更新-Spring Boot:操作数据库.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

Global site tag (gtag.js) - Google Analytics