超时查询
问题描述:
我想知道我们是否可以超时一个SQL查询。超时查询
从这个意义上说,假设我有一个sql查询的输出是有用的,只有在10分钟内给出输出后,即使它输出结果对我没用。
我想要做的是,如果查询花费超过10分钟来处理,那么它应该只是自杀。
有没有可能的方法呢?
一个例子会很有帮助。
让我知道,如果我的想法是不是难以理解..
答
下面是它会是什么样子的SqlCommand.CommandTimeout
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT blah FROM Categories ORDER BY CategoryID";
cmd.CommandTimeout = 600; // 10 minutes = 600 seconds
// Caveat: it you need a timeout value of more than 30 - 60 seconds
// perhaps time to look at why it takes so long...
答
您可以将Command
对象的CommandTimout
属性设置为10分钟。当命令超时时,SQL Server会注意到连接被删除并取消查询。
+0
可以举一个例子..会有很多帮助 – Egalitarian 2010-10-18 08:44:26
如果查询需要10分钟,则(a)你有一个非常大的数据库,(b)您有所有查询的母亲(不太可能) ,或者(c)您需要重新评估您的索引。我的钱是在(c) – 2010-10-18 08:39:54
10分钟只是一个随机值我拿了例如..你可以想到的任何时间 – Egalitarian 2010-10-18 08:42:49
如果一个查询需要超过30秒,我会看着它... – 2010-10-18 08:46:02