我在SQL视图上具有RO访问权限。下面的该查询超时。如何避免这种情况?
select count(distinct Status) from [MyTable] with (NOLOCK) where MemberType=6
我收到的错误消息是:
消息121,级别20,状态0,第0行 从服务器接收结果时发生了传输级错误(提供者:TCP Provider,错误:0-信号灯超时时间已到期。)
消息121,级别20,状态0,第0行
从服务器接收结果时发生了传输级错误(提供者:TCP Provider,错误:0-信号灯超时时间已到期。)
尽管显然存在某种网络不稳定或某种干扰您的连接(您可能会跨越NAT边界15分钟,或者您的网络中有某些东西正在断开会话),但我认为您想要这样一个简单的查询吗?)在任何预期的时间范围内(例如1秒)恢复良好的状态。
我将与您的DBA交谈,并获取在MemberType,Status的基础表上创建的索引。如果没有单个基础表,或者这些基础表由视图或UDF创建并且更复杂,并且您正在运行SQL Server 2005或更高版本,请让他考虑对视图建立索引(基本上以索引的方式实现视图)。