Я пытался проверить разницу в производительности между вставкой в таблицу напрямую и вставкой в представление в другой базе данных, которая указывает на таблицу. Я был потрясен, увидев, что цикл WHILE с 10 000 вставок в простую таблицу занял 3 секунды, а против просмотра - 30 секунд.
Как я исследовал, я обнаружил, что если я переключаю окна в SSMS, производительность представления будет такой же, как и в таблице, как я думал, что это должно было быть. Затем я переключил БД в окне просмотра на таблицу БД и вставил туда, и это было медленным при движении прямо к таблице.
Это указало мне на мысль, что в связях есть какая-то разница. Это были разные вкладки в SSMS, одна из которых была создана с помощью -N. Я не выполнял никаких команд SET, кроме SET NOCOUNT ON (в обоих окнах), и вся статистика, планы запросов и т. Д. Были отключены.
Когда я запускал SQL Profiler для просмотра соединений, у них были одинаковые настройки. Хотя разница в производительности была на 100% стабильной.
Я проверил, что ни в одном соединении не было открыто ни одной транзакции.
Я попытался открыть другой экземпляр SSMS и не могу воспроизвести медленную производительность (хотя это происходит на двух из трех моих вкладок в первом экземпляре SSMS).
Это все на локальном сервере. Мне нужно будет закрыть его примерно через час, и я не знаю, смогу ли я воспроизвести эту проблему, поэтому, надеюсь, я смогу получить некоторые предложения до этого:)
Любые другие идеи о том, в чем может быть разница?