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

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

Например, в SomStoreProc on_this_db я запускаю

SELECT someFields FROM the_other_db.dbo.someTable

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

1 ответ

Решение

Даже если это не снижение производительности, это может быть проблемой в целостности данных, поскольку FK не могут быть применены в разных базах данных.

Тем не менее, более вероятно, что ваши процессы должны быть настроены, особенно если они длиной в тысячи строк. Для начала поищите курсоры, коррелированные подзапросы и плохую индексацию. Также обратите внимание на предложения where, которые являются несарабируемыми, и скалярные функции, которые выполняют row-by-agonizing-row.

Конечно, лучший способ доказать, что отдельная база данных не является проблемой, это взять один медленный процесс и преобразовать эти таблицы в одну базу данных и протестировать производительность в обоих направлениях. Пожалуйста, по крайней мере, убедите их сделать этот небольшой тест, прежде чем они пойдут дальше, и сделайте ужасно сложное и трудоемкое изменение одной базы данных, а затем выясните, что у них все еще есть проблемы с производительностью.

И помните, план выполнения - ваш друг смотрит на эти вещи.

Другие вопросы по тегам