似乎公平地认为在查询中包含模式所有者会增加db性能,例如:
SELECT x FROM [dbo].FooVS SELECT x FROM Foo.
这应该保存查找,因为SQL Server将在连接上下文中查找属于该用户的Foo表.
今天我被告知,即使您查询在连接字符串中选择的数据库,始终包含数据库名称也会以相同的方式提高性能:
SELECT x FROM MyDatabase.[dbo].Foo
Run Code Online (Sandbox Code Playgroud)
有没有道理呢?这作为编码标准是否有意义?这些(甚至是第一个例子)中的任何一个都能转化为可衡量的收益吗?
我们是在讨论数据库服务器上额外字典查找的几个周期与Web服务器(或其他客户端)上更臃肿的SQL和额外连接吗?