【发布时间】:2018-04-04 20:18:50
【问题描述】:
是否可以限制 SQL Server 查询数据库的时间?
让程序返回在时间范围内可以找到的符合查询的所有结果?
【问题讨论】:
标签: sql-server stored-procedures large-data-volumes
是否可以限制 SQL Server 查询数据库的时间?
让程序返回在时间范围内可以找到的符合查询的所有结果?
【问题讨论】:
标签: sql-server stored-procedures large-data-volumes
没有 sql server 可以做到这一点,可以配置一个工作来使一个 kill process 具有很长的前置时间,但这都是非常错误的。为此使用 sys.dm_exec_query_stats https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-query-stats-transact-sql 但这是一个非常错误的策略
【讨论】:
好的,这是我对这个问题的看法:
请不要对您的数据库执行此操作。也许您可以在连接级别上使用超时并尽快流式传输结果,但是……如果您的数据库那么大,我想这很重要。不要像这样滥用您的基础架构...
考虑限制结果的数量(SELECT TOP
或者使用其他类型的(虚拟)分页。再说一遍:不要故意滥用连接超时...
【讨论】:
例如,如果您正在编写 Web 应用程序,您可以指定命令超时。这将在超时到期时为查询发送终止信号。终止信号不是由 SQL 引擎立即处理,而是在下一个机会期间处理。
【讨论】: