Кажется вполне приемлемым, что включение в запрос владельца схемы увеличивает производительность дБ, например ::10000
SELECT x FROM [dbo].Foo
против SELECT x FROM Foo
.
Это должно сохранить поиск, потому что в противном случае SQL Server будет искать таблицу Foo, принадлежащую пользователю в контексте соединения.
Сегодня мне сказали, что всегда включение имени базы данных повышает производительность одинаково, даже если вы запрашиваете базу данных, которую вы выбрали в строке подключения:
SELECT x FROM MyDatabase.[dbo].Foo
Есть ли в этом правда? Имеет ли это смысл в качестве стандарта кодирования? Перечисляет ли что-либо из этого (даже первый пример) ощутимые выгоды?
Мы говорим о нескольких циклах для дополнительного поиска в словаре на сервере базы данных по сравнению с более раздутым SQL и дополнительной конкатенации на веб-сервере (или другом клиенте)?