在数据库审计方面使用游标是否切实可行(仅限SQL Server)

时间:2013-06-27 02:03:30

标签: sql-server database cursor auditing

我最近一直在研究SQL游标,我的一位同事说游标最适合用于审计。我试图在互联网上寻找材料,但没有运气。

有人可以解释为什么Cursor有利于审计,尽管它有缺点吗?

1 个答案:

答案 0 :(得分:1)

与任何任务一样,它是为工作挑选合适的工具。有些人贬低了游标的使用,因为它们的使用明显不好,但游标占有一席之地。它们对于数据子集化和减少代码冗余特别有用:

首先,我使用游标在非常大的数据集的子集上执行任务,即银行数据。有了数十亿条记录,有些操作你不想一次完成所有操作,因此白天循环是一个不错的选择。还有其他迭代子集的方法,但是光标在这个任务中运行良好,它仍然是基于集合的操作,只是在较小的集合上。

游标也非常适合循环数据库中的多个表/字段,如果要在每个表中执行相同的操作,或者如果您一直在处理某个表,则无需为多个表重写过程各种数据库。例如,我需要分析由多个系统生成的大量各种日志文件,但它们都有日期和IP字段。让光标循环遍历每个表并将所有相关数据合并到一个位置是微不足道的。

除非必要,否则我不会使用游标执行逐行操作,虽然我无法想到一个用例,但我确信它们存在。