`

性能最优的批量更新sql语句

 
阅读更多

下面是封装需要更新的集合:

/**

* 批量更新购物车需要更新的数据

* @Description:

* @date 2016年7月28日

*/

public void updateCartDate2(List carUpdateList){

if(carUpdateList != null && carUpdateList.size() > 0){

StringBuffer sql = new StringBuffer("insert into jbe_cart (cart_id,price,tariff,weight,name,itemtype)");

       sql.append("values");

       

       for (int i = 0; i < carUpdateList.size(); i++) {

        CartUpdate carUpdate = (CartUpdate) carUpdateList.get(i);

        sql.append("(");

        sql.append("'"+carUpdate.getCart_id()+"',");

        sql.append("'"+carUpdate.getPrice()+"',");

        sql.append("'"+carUpdate.getTariff()+"',");

        sql.append("'"+carUpdate.getWeight()+"',");

        sql.append("'"+carUpdate.getName()+"',");

        sql.append("'"+carUpdate.getItemtype()+"'");

        sql.append(")");

        if(i< carUpdateList.size() - 1){

        sql.append(",");

        }

}

       

   sql.append("on duplicate key Update price=values(price),tariff=values(tariff),weight=values(weight),name=values(name),itemtype=values(itemtype)");

   this.cartManager.updateCartBySql(sql.toString());

}

}

 

下面是最终sql语句显示的debug:

insert into jbe_cart 

(cart_id,price,tariff,weight,name,itemtype)

values('10745','15.0','0.0','1.0','保健食品','0'),

('10746','25.0','0.0','1.0','商品审核验证','0'),

('10747','70.0','0.0','1.0','手机','0'),

('10748','850.0','0.0','1.0','保税仓','0'),

('10749','60.0','0.0','5.0','测试999999','0')

on duplicate key Update price=values(price),tariff=values(tariff),weight=values(weight),name=values(name),itemtype=values(itemtype)

分享到:
评论

相关推荐

    ORACLE 批量更新三种方式比较

    针对这一需求,本文将详细介绍并比较三种常用的批量更新方法:通过PL/SQL循环更新、使用单条SQL语句更新以及采用子查询的方式进行更新。 #### 一、通过PL/SQL循环更新 这种方式是通过定义一个游标(Cursor),然后...

    SQL语句优化在学生考勤管理系统中的应用与研究.pdf

    最后,通过批量测试这些SQL语句,从而确定性能最优的SQL语句。这种方法大大提高了效率和准确性,减少了人工操作的错误。 学生考勤管理系统是一套用于大专院校教师、学生和课程信息管理的系统,通过优化SQL语句可以...

    浅析数据库系统中SQL语句的优化技术.pdf

    例如,一条复杂的SQL查询语句,通过优化后可以产生2267条等价的SQL语句,从中选出具有不同执行计划的136条语句进行测试,最终找到性能最优的SQL语句,速度提升至原来的22.75倍。 6. 数据库性能优化的整体策略: ...

    如何选择最优的批量更新方案?六种方法效率对比解析.zip

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

    SQL性能优化技巧分享 SQL性能优化技巧.docx

    执行计划是Oracle数据库在执行SQL语句时生成的执行路径,用于确保SQL语句能以最优性能执行。执行计划包括四个步骤:解析SQL语句、创建执行计划、显示结果集和转换字段数据。 1.1 什么是执行计划 执行计划是Oracle...

    SQL Server中存储过程比直接运行SQL语句慢的原因

    然而,有时人们发现存储过程的执行速度比直接运行SQL语句要慢,这主要归因于几个因素。 首先,存储过程的编译和缓存机制。存储过程在创建时进行一次性编译,之后的执行会使用已编译的计划,从而避免了每次执行时的...

    sql.rar_SQL语句_hawk_sql优化

    SQL语句优化是数据库性能调优的关键部分,尤其对于大型企业级应用,其性能直接影响系统的响应速度和用户体验。以下是一些关于Oracle SQL优化的核心知识点: 1. **查询优化**:编写高效的SQL查询是优化的第一步。这...

    SQL性能编写技术说明书

    - 通过审核机制,对SQL语句进行性能评估和优化。 5. 生产库SQL实战优化案例: - 提供实际案例来展示上述规范的应用,如绑定变量的使用、避免自编函数、明确列名等。 6. 附录中包含了项目组自查方法、使用工具(如...

    ORACLE数据库SQL语句编写优化总结[借鉴].pdf

    Oracle数据库的SQL语句优化是提升数据库性能的关键环节,它涉及到多个方面,包括查询规划、数据访问策略、语句简洁性以及事务管理等。以下是对这些优化策略的详细阐述: 1. **选用适合的ORACLE优化器**:Oracle...

    ORACLE数据库SQL语句编写优化总结.doc

    Oracle数据库SQL语句的编写和优化对于提升数据库性能至关重要。以下是对这些优化策略的详细解释: 1、**选用适合的Oracle优化器**:Oracle数据库有多种优化器,如成本基于的优化器(CBO)和规则基于的优化器(RBO)...

    Oracle10g、Db2v9.5、SqlServer2000性能对比.docx

    ### 二、前台Java调用SQL语句性能对比 在前台使用Java调用SQL语句时,不同的数据库在批量处理和提交方面的表现也有显著差异: #### 1. 批量插入操作 - **性能提升情况**: - Oracle:性能最少提高3倍,批量处理...

    高性能 SQL 优化

    【高性能 SQL 优化】是数据库管理领域中至关重要的一环,主要目标是提升数据库查询的速度,减少资源消耗,从而提高整体系统性能。Oracle 是一个广泛使用的数据库管理系统,它提供了丰富的工具和策略来优化 SQL 语句...

    mysql update正则替换sql语句

    在处理数据库时,尤其是涉及字符串的批量更新时,正则表达式可以提供强大的灵活性。本知识点将围绕MySQL数据库中的UPDATE语句与正则表达式结合使用的方法进行深入讲解。 MySQL的UPDATE语句用于修改表中的数据,当...

    sql server 性能优化(生产中常用)

    在进行性能优化之前,首先需要了解如何查看SQL语句的执行效率。通过查询选项中的“执行-高级”并勾选相应的选项,可以在消息中看到相应的执行时间及资源消耗,从而为性能优化提供初步依据。 2. 执行计划查看 查看...

    ORACLE中SQL执行原理及性能优化研究.pdf

    首先,了解SQL语句的执行过程是优化的基础。在Oracle数据库中,当一个SQL语句被提交时,会经历解析、编译和执行三个阶段。解析阶段,数据库会检查SQL语句的语法和权限,确保其合法。编译阶段,Oracle会基于成本基...

    Oracle SQL 性能优化调整

    - 定期审查并更新共享池中的SQL语句,移除不再使用的语句。 #### 二、选择最有效率的表名顺序 在基于规则的优化器中,表名的顺序会影响到查询的效率。Oracle的解析器是从右到左处理FROM子句中的表名,因此写在最后...

    使用SQL PROFILE固定SHARED POOL中的执行计划

    需要注意的是,虽然SQL Profile能显著提升某些SQL语句的性能,但过度使用或错误配置可能会导致资源浪费或性能下降。因此,定期监控和调整SQL Profile是必要的,可以使用`DBMS_SQLTUNE.REPORT_SQL_MONITOR`或`ADDM`...

    MySql批量插入优化Sql执行效率实例详解

    通过这种方式,批量操作可以显著减少SQL语句的执行次数,提高数据库处理速度。同时,由于减少了网络通信,整个应用的响应时间也会得到改善。 在实际应用中,还可以考虑以下优化策略: - **使用事务**:将批量操作...

    人工智能自动sql优化工具--SQLTuning for SQL Server

    - **选取最优SQL**:选择一个或多个优化方案,执行后通过“Tuning Resolution”查看性能提升情况,找到最优的SQL语句。 - **学习优化技巧**:通过“Compare Scenarios”功能,对比优化方案和原始SQL的差异,学习...

Global site tag (gtag.js) - Google Analytics