Sql server 由于Microsoft SQL Server 2012语句中的IP地址,查询速度较慢
SQL server的查询速度较慢 我们有一些软件在查询中使用SQL Server侦听器的虚拟主机名,这会导致查询性能降低Sql server 由于Microsoft SQL Server 2012语句中的IP地址,查询速度较慢,sql-server,sql-server-2008-r2,sql-server-2012,Sql Server,Sql Server 2008 R2,Sql Server 2012,SQL server的查询速度较慢 我们有一些软件在查询中使用SQL Server侦听器的虚拟主机名,这会导致查询性能降低 UPDATE table SET status = 1 FROM [HOSTNAMEOFSQLLISTENER].database.dbo.things AS things WHERE bar = foo 看看执行计划,它把所有的时间都花在了“远程扫描”阶段,我不知道为什么会这样 奇怪的是,当运行下面的查询时,将侦听器的IP地址替换为侦听器指向的SQL s
UPDATE table SET
status = 1
FROM [HOSTNAMEOFSQLLISTENER].database.dbo.things AS things
WHERE bar = foo
看看执行计划,它把所有的时间都花在了“远程扫描”阶段,我不知道为什么会这样
奇怪的是,当运行下面的查询时,将侦听器的IP地址替换为侦听器指向的SQL server的IP地址(如果您通过management studio通过侦听器连接到SQL server,我已确保它是您最终使用的同一台服务器),执行计划是合理的(使用索引)查询只需一小部分时间即可完成
UPDATE table SET
status = 1
FROM [HOSTNAMEOFSQLSERVERDIRECTLY].database.dbo.things AS things
WHERE bar = foo
显然,这种行为在SQLServer2008中不是问题,但我还没有得到证实
所以我有两个问题:
1) 为什么执行计划不同
2) 在这些场景中,是否将侦听器的IP地址作为最佳实践
干杯
Alan问题归结为无法读取链接服务器上的表统计信息,因此查询优化器不知道从哪里开始 如果您没有真正地来回传递数据,那么首先要尝试将更新封装在存储的进程中