单条删除、批量删除方法

单条删除、批量删除方法
开发工具与关键技术 :VS2015、ASP.NET MVC
撰写时间:2019.7.28

单条删除、批量删除两个方法在页面这边是要分开写的,因为是两个按钮的,代码如下图。
先弹出提示层,然后进行删除操作,然后关闭提示层,刷新表格,再给提示删除成功或者失败。
在这里插入图片描述

再到批量删除的方法。代码如下图

首先获取到选中checkbox,再获取单位ID,申明var strID是去掉最后的“;”,
然后弹出提示层,然后进行删除操作,然后关闭提示层,又是刷新表格,再给提示。

在这里插入图片描述
本文结合本文上一篇文章就是一个完整的删除操作,然后删除就完成啦!

### 批量删除单条删除的性能差异 在数据库操作中,批量删除单条删除的性能存在显著差异。以下是关于两者性能对比的具体分析: #### 1. **批量删除的优势** 批量删除通过一次操作完成多个记录的删除,减少了网络传输次数以及数据库内部的操作开销。根据引用中的描述,`Update` `Delete` 的批量化操作通常可以带来约2-3倍的性能提升[^2]。这是因为批量操作能够降低每次单独执行所带来的额外成本,例如锁管理、日志记录索引维护。 #### 2. **单条删除的劣势** 相比之下,单条删除意味着每一条记录都需要发起一次独立的请求并触发完整的事务流程。这种方式不仅增加了客户端与服务端之间的通信负担,还可能导致更高的CPU消耗磁盘I/O压力。此外,频繁的小型事务也会增加死锁的风险,并影响整体系统的吞吐能力。 #### 3. **实际应用中的考量** 尽管理论上批量删除优于单条删除,但在实践中还需要考虑具体的业务需求技术限制。例如: - 如果数据规模较小,则两者的区别可能并不明显; - 对于大规模数据集而言,建议尽可能采用批量方式以获得更好的效率; - 同时需要注意的是,过大的批次大小可能会引发内存溢出或者长时间锁定资源等问题,所以需要合理设置批次尺寸[^4]。 #### 4. **代码实现示例** 下面给出一段简单的Java代码片段展示如何利用JDBC来进行高效的批量删除操作: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class BatchDeleteExample { public static void main(String[] args) throws Exception { String jdbcUrl = "jdbc:mysql://localhost:3306/testdb"; String username = "root"; String password = ""; try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) { conn.setAutoCommit(false); // 开启手动提交模式 String sql = "DELETE FROM users WHERE id=?"; try (PreparedStatement pstmt = conn.prepareStatement(sql)) { for(int i=1;i<=100;i++) { pstmt.setInt(1,i); pstmt.addBatch(); if(i%20==0){ // 每累积20次加入一批 pstmt.executeBatch(); } } pstmt.executeBatch(); // 提交剩余部分 conn.commit(); // 确认所有更改 } catch(Exception e){ conn.rollback(); // 发生错误则回滚 throw e; } } } } ``` 此程序展示了怎样构建一个循环向准备好的陈述对象添加多组参数值形成一个个待处理项集合之后再统一发送给MySQL服务器从而达到高效的目的。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值