14、SQL查询优化:集合与迭代解决方案及查询修订策略

SQL查询优化:集合与迭代解决方案及查询修订策略

在数据库查询优化的领域中,我们常常会面临多种选择,比如是采用集合式解决方案还是迭代式解决方案,以及如何通过查询修订来优化查询性能。下面将详细探讨这些内容。

1. 触发器中的回滚与数据保存

在某些情况下,我们可能需要在触发器中执行回滚操作,但同时又要保存 inserted deleted 表中的信息。因为直接回滚会使这些表中的数据消失,而先复制数据到目标表再回滚,复制操作也会被撤销。解决方案是在回滚之前,将 inserted deleted 表的数据复制到表变量中,回滚之后再将表变量中的数据复制到目标表。

2. 集合式与迭代式解决方案

当解决查询任务时,人们常常会纠结于使用集合式方法还是迭代式方法。以下是两者的详细对比:
- 集合式解决方案 :基于数学集合理论,将输入表作为一个整体进行操作,不依赖数据的物理顺序,可通过 T-SQL 查询实现,无需迭代。
- 迭代式解决方案 :一次处理一行数据,依赖数据的顺序,可使用游标机制或带有 TOP (1) 查询的循环来实现。

通常,我们更倾向于使用集合式方法,原因主要有两点:
- 哲学层面 :基于强大数学基础的方法可能会产生更稳定、健壮的解决方案,关系模型能长久存在可能就是因为其数学基础坚实。
- 实用层面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值