SQl 2008 кросс-производительность базы данных на том же физическом компьютере и том же экземпляре сервера
Есть ли какое-либо снижение производительности при выполнении выбора для другой БД на той же физической машине? Таким образом, у меня есть 2 базы данных на одном физическом компьютере, работающие в одном экземпляре SQL 2008.
Например, в SomStoreProc on_this_db я запускаю
SELECT someFields FROM the_other_db.dbo.someTable
Так далеко от того, что я прочитал в Интернете, большинство людей, кажется, указывают НЕТ.
1 ответ
Даже если это не снижение производительности, это может быть проблемой в целостности данных, поскольку FK не могут быть применены в разных базах данных.
Тем не менее, более вероятно, что ваши процессы должны быть настроены, особенно если они длиной в тысячи строк. Для начала поищите курсоры, коррелированные подзапросы и плохую индексацию. Также обратите внимание на предложения where, которые являются несарабируемыми, и скалярные функции, которые выполняют row-by-agonizing-row.
Конечно, лучший способ доказать, что отдельная база данных не является проблемой, это взять один медленный процесс и преобразовать эти таблицы в одну базу данных и протестировать производительность в обоих направлениях. Пожалуйста, по крайней мере, убедите их сделать этот небольшой тест, прежде чем они пойдут дальше, и сделайте ужасно сложное и трудоемкое изменение одной базы данных, а затем выясните, что у них все еще есть проблемы с производительностью.
И помните, план выполнения - ваш друг смотрит на эти вещи.