【发布时间】:2011-03-31 04:15:11
【问题描述】:
我已经看到这出现在代码中的几个地方,从来没有解释,只是在它上面的一个神秘的注释(声明和执行包括上下文的想法。它只是一个运行 SqlCommand 的标准过程):
//SqlCommand cmd = new SqlCommand();
//cmd.ExecuteReader();
//Read off the results
//Cancel the command. This improves query time.
cmd.Cancel ();
基本上,在完成查询后,它会返回并取消它,声称性能有所提升。我想你可能会在它释放并释放 XmlReader 时取回一些内存,但通常无论如何它都会超出范围。
我以前从来没有打扰过它,但它终于出现在我正在审查的一些代码中。 在代码中运行 SqlCommand 后取消它实际上会以某种方式加速它,还是这只是一些奇怪的程序员迷信?
【问题讨论】:
-
你分析过代码吗?看看它实际上有多大的影响会很有趣。
-
有一个重要的边缘情况,调用 Cancel 会产生很大的不同 - 请参阅下面的答案
标签: c# sqlcommand