`
axengine
  • 浏览: 147837 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

按不同条件更新数据

 
阅读更多
update cdsia set INEN = ${INEN} where cuno=${cuno} and INEN IS NULL;
update cdsia set SSEX = ${SSEX} where cuno=${cuno} and SSEX IS NULL;
……
update cdsia set BDAY = ${BDAY} where cuno=${cuno} and BDAY IS NULL;

以上是待合并的语句:

一下为合并后语句:

UPDATE cdsia set cnno = CASE WHEN (cnno IS NULL OR TRIM(cnno)='') THEN '${CNNO}' else cnno end,
        stdt = CASE WHEN (stdt IS NULL OR TRIM(stdt)='') THEN '${STDT}' else stdt end,
        eddt = CASE WHEN (eddt IS NULL OR TRIM(eddt)='') THEN '${EDDT}' else eddt end
    WHERE cuno = '${CUNO}';  
 


这样可以将多条update语句合并为一条,以提高执行效率。

下面是效率比较:

写道
我的测试结果:
执行1000次,多句UPDATE:
real 0m41.90s
user 0m8.89s
sys 0m8.16s

单句UPDATE:
real 0m37.33s
user 0m8.26s
sys 0m7.47s

执行100次,多句UPDATE:
real 0m4.57s
user 0m0.89s
sys 0m0.81s

单句UPDATE:
real 0m3.69s
user 0m0.83s
sys 0m0.75s
 

 

分享到:
评论

相关推荐

    mysql 同时更新多行数据不同的值

    一个复杂的多条件更新sql: update users set status = (case user_id when 1 then 0 when 3 then 1 when 4 then 0 else status end) where user_id in (1,3,4) 在多数情况下,执行一条update语句会比执行多条...

    dataGrid根据条件行显示不同的颜色

    在本示例中,我们关注的是如何根据特定条件为DataGrid的行设置不同的颜色,这有助于提升数据的可读性和视觉效果。以下是关于这个主题的详细知识点: 1. **DataGrid概述**:DataGrid是一种网格布局控件,它能够以...

    实时更改图层过滤条件及更新地图缓存

    在GIS(地理信息系统)开发中,实时更改图层过滤条件并更新地图缓存是一项关键功能,它能够确保用户在前端查看的地图始终反映最新的数据状态。本范例通过使用Java组件来实现这一目标,特别是利用了SuperMap iObject...

    PB数据窗口条件字段颜色设置(终结)

    当需要根据同一列的不同条件赋予相同颜色时,可以采用类似的方法。创建多个计算列,每个计算列对应一个条件,当满足条件时,返回相同的颜色代码。例如,如果某列的值小于10,返回"FFFFFF"(白色);若在10到20之间...

    子线程更新主线程数据

    在多线程编程中,"子线程更新主线程数据"是一个常见的需求,尤其是在UI界面交互和后台处理相结合的应用中。主线程通常负责用户界面的显示与交互,而子线程则用于执行耗时的任务,避免阻塞主线程,提供良好的用户体验...

    SQL并行更新时丢失数据实例

    4. **数据分区**:在分布式数据库系统中,如果数据分布在不同的节点,不正确的并行更新策略可能导致部分节点的数据未同步,从而丢失更新。 为了解决这些问题,我们可以采取以下策略: 1. **锁定策略**:通过使用...

    利用 sqluldr2导出数据 使用sqlldr导入数据 通过merge into 合并更新数据

    这个语句允许我们基于特定条件更新已有记录,同时插入新的记录。 - 基本语法:`MERGE INTO 目标表 USING 来源表 ON (匹配条件) WHEN MATCHED THEN UPDATE SET 更新列 = 新值 WHEN NOT MATCHED THEN INSERT (插入列)...

    PB数据窗口多表更新的通用性方法

    其中,`tableNameList` 是需要更新的表名列表,`fieldValues` 是更新字段及其对应的值,`whereClause` 是用于确定更新记录的条件。 #### 动态SQL语句的构建 根据传入的表名列表和字段值,动态生成SQL更新语句。...

    android 版本更新 同时清除旧版本数据

    开发者可以通过Intent来启动系统的安装程序,或者在满足特定条件(如只在Wi-Fi连接下更新)时,自动启动安装流程。 4. 清除旧版本数据:在安装新版本之前,可能需要清除旧版本的数据,以防新旧版本之间的数据不兼容...

    java后台数据隔离实现方式

    `DataScope` 类可能包含了这些功能,比如定义了不同的数据范围枚举,与角色关联,以便在运行时动态判断数据权限。`BaseEntity` 类可能是所有实体类的基类,其中可能包含与权限相关的字段,如部门ID等。 4. 实现流程...

    不同场景三轮车数据,适合深度学习

    综上所述,“不同场景三轮车数据”是一个专注于深度学习和人工智能的宝贵资源,它提供了丰富的图像数据,可以帮助我们训练出能够应对各种环境和条件的三轮车识别模型。通过对这些数据的深入学习和分析,我们可以...

    SQL数据的查询和更新实验报告报告.docx

    SQL 数据的查询和更新实验报告报告.docx 该实验报告主要介绍了 SQL 数据查询和更新的实验步骤,旨在熟悉 SQL 语句的数据查询语言,并能够对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。 一、单...

    python按条件读写Excel表中的数据 v1.0

    在实际应用中,可能需要处理更复杂的情况,如处理多个条件、多列数据或者处理不同格式的Excel文件。`pandas`库提供了丰富的功能来应对这些需求,包括数据清洗、聚合、排序、分组等。对于大型数据集,可以利用`dask`...

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

    然而,不同的批量更新方法可能带来截然不同的性能表现。 通过实际测试对比了Spring Boot中6种MySQL批量更新方式的效率,并详细记录了每种方法在处理500,1000,5000,10000,50000,100000条数据的平均时间、最小时间和...

    通过视图更新数据.rar

    "通过视图更新数据"这个主题探讨的是如何利用视图来修改数据库中的原始数据。下面我们将详细讨论这一主题。 1. **视图的创建** 创建视图通常使用`CREATE VIEW`语句,它可以包含简单的选择列、连接多个表、应用函数...

    如何从子线程更新主线程数据

    这涉及到线程间通信(Thread Communication)的概念,它确保了不同线程之间的协作和数据同步。在Windows环境中,我们可以利用各种API函数来实现这一目标。 主线程通常负责用户界面(UI)的更新,而子线程则处理计算...

    使用SQL语句更新数据.rar

    本资源“使用SQL语句更新数据.rar”可能包含一系列关于如何使用SQL来更新数据库记录的教程、示例和实践练习。 SQL更新语句的基本语法是: ```sql UPDATE 表名 SET 列名 = 新值 WHERE 条件; ``` 1. **UPDATE关键字...

    云计算数据中心条件下的能耗建模方法研究.pdf

    总体来说,云计算数据中心条件下的能耗建模是一个系统工程,需要综合考虑数据中心的硬件设施、软件应用以及运行管理等多个方面。有效的能耗建模不仅可以帮助数据中心管理者更好地理解能耗情况,还能为节能措施的制定...

    Excel2021如何从数据源中提取条件数据.docx

    - 在查询表中,我们可以设置类似的公式,但这次可能需要根据不同的条件来过滤数据。例如,如果在A4单元格中输入`=VLOOKUP("华东", 原始表格!$B$1:$C$100, 2, FALSE)`,则会在原始表格中查找“华东”这个条件,并...

    2007-2021年信贷数据合集 绿色信贷数据更新

    标题中的“2007-2021年信贷数据合集 绿色信贷数据更新”揭示了这个压缩包文件包含的是从2007年至2021年间关于绿色信贷的综合数据集,其中特别强调了“绿色信贷数据”的更新部分。绿色信贷是指金融机构在贷款业务中对...

Global site tag (gtag.js) - Google Analytics