停止从.net执行SQL查询代码
我正在执行'.net'代码中的一个存储过程。由于数据量很大,执行时间太长。有没有办法阻止这种执行从C#代码?停止从.net执行SQL查询代码
换句话说,如果我们从数据库本身执行查询,有一个选项可以停止它的执行,但是在代码中它有可能吗?
是sqlcommand.cancel是你的朋友http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.cancel.aspx
显然关闭命令更有可能100%的时间工作:http://*.com/questions/889102/how-to-cancel-a-long-running-数据库操作/ 3699391#3699391 – user423430 2011-10-07 18:04:30
是的,你可以使用SqlCommand.Cancel
取消查询。但是,该命令必须在另一个线程中运行(否则仅在命令完成后才会调用Cancel)。
如果要在指定的时间限制内运行时取消此查询,也可以指定CommandTimeout
。
你可以做myCommand.Cancel()
,而这将工作最好的,即使我在过去面对类似的问题,并使用myCommand.Cancel()
我已经解决了我的问题。 :) :)
您可以在存储过程中添加过滤器吗?尝试阅读更多关于sql最佳实践.. – Crimsonland 2011-01-24 07:48:06