Sql server 2008 在远程数据库服务器上等待查询完成需要多长时间?
我被要求根据特定的ID(这里是406f-871b-a3ee71f7038)获取信息,如下所示:Sql server 2008 在远程数据库服务器上等待查询完成需要多长时间?,sql-server-2008,query-optimization,Sql Server 2008,Query Optimization,我被要求根据特定的ID(这里是406f-871b-a3ee71f7038)获取信息,如下所示: select * from BIG_Session (nolock) where SessionSID like '%406f-871b-a3ee71f70386%' 这是低效的吗?要等多久才能完成?我等了30秒,觉得时间太长了,于是取消了它。您将使用前缀通配符%进行扫描。如果您知道406f…将是字符串的开头,您可以利用可能的搜索: select * from BIG_Session where S
select * from BIG_Session (nolock)
where SessionSID like '%406f-871b-a3ee71f70386%'
这是低效的吗?要等多久才能完成?我等了30秒,觉得时间太长了,于是取消了它。您将使用前缀通配符
%
进行扫描。如果您知道406f…
将是字符串的开头,您可以利用可能的搜索:
select * from BIG_Session
where SessionSID like '406f-871b-a3ee71f70386%'
注意我去掉了第一个百分号
要等多久才能完成
这取决于您、您的环境、您的用户以及业务需求的可接受持续时间。30秒在某些情况下是可以接受的,但在其他情况下是有害的。您将导致使用前缀通配符进行扫描
%
。如果您知道406f…
将是字符串的开头,您可以利用可能的搜索:
select * from BIG_Session
where SessionSID like '406f-871b-a3ee71f70386%'
注意我去掉了第一个百分号
要等多久才能完成
这取决于您、您的环境、您的用户以及业务需求的可接受持续时间。30秒在某些情况下是可以接受的,但在其他情况下是有害的。如果您正在搜索特定ID,我认为
=
将比之类的更有效:
select * from BIG_Session (nolock)
where SessionSID = '406f-871b-a3ee71f70386'
至于多长时间,这是主观的,在不了解环境和期望的更多细节的情况下很难量化
关于你使用NOLOCK的这个问题也值得一读:如果你正在搜索一个特定的ID,我认为=
会比这样的更有效:
select * from BIG_Session (nolock)
where SessionSID = '406f-871b-a3ee71f70386'
至于多长时间,这是主观的,在不了解环境和期望的更多细节的情况下很难量化
关于您使用NOLOCK
:非常感谢Shark,这个问题也值得一读!我记笔记了!非常感谢鲨鱼!我记笔记了!非常感谢,巴里!我记下来了!非常感谢,巴里!我记下来了!