SQL Server 2008 - кросс-производительность базы данных на одном физическом компьютере и экземпляре сервера

12

Есть ли какое-либо снижение производительности при выполнении выбора для другой БД на той же физической машине? Таким образом, у меня есть 2 базы данных на одном физическом компьютере, работающие в одном экземпляре SQL 2008.

Например, в SomStoreProc on_this_db я запускаю SELECT someFields FROM the_other_db.dbo.someTable

Так далеко от того, что я прочитал в Интернете, большинство людей, кажется, указывают НЕТ.

user547
источник

Ответы:

13

Вы не должны видеть снижения производительности при запросах к базам данных в одном и том же экземпляре. Используется тот же анализатор запросов, буферы и т. Д.

Теперь, если вы попытаетесь сделать то же самое в разных экземплярах SQL на одном и том же сервере, вы можете увидеть снижение производительности. Запрос должен быть проанализирован двумя различными анализаторами запросов, и для кэшей, буферов и т. Д. Будет использоваться больше системных ресурсов. Вы также должны заставить результаты проходить через протокол VIA (при условии, что он включен) между экземплярами. MS DTC может быть вовлечен, и если разрешения неадекватны в одном из случаев, может быть создан плохой (er) план запроса.

AndrewSQL
источник
4

Profiler + план выполнения + статистика IO / Cpu - ваш лучший друг в проверке этого. Скопируйте таблицу в первом БД и сравните продолжительность и другие статистические данные с данными, найденными при наличии таблицы во втором БД. Вы увидите, есть ли какие-либо штрафы.

Лично я не видел видимого снижения производительности при чтении данных таблиц из других баз данных на том же сервере.

Мэриан
источник
LOL они наконец оптимизируют запросы!
user547