У нас есть приложение .NET, использующее LINQ to SQL (ORM) для вызова представления, которое содержит объединения из нескольких объектов в разных базах данных. Приложение .NET время от времени вызывает это представление, однако наш DBA ведет следующую инструкцию:SQL View time out используется .NET Application
sp_refreshview on the view and the subsequennt sql views
приложение начинает работать снова.
Это приложение начинает отсчет времени снова на том же экране после 20 минут. Таким образом, наш администратор базы данных назначил работу для запуска вышеуказанного заявления каждые 30 минут. Структурных изменений в представлении не было, и мы пытаемся понять, почему sp_refreshview
устраняет эту проблему и что может быть основной проблемой, которую мы могли бы исправить?
Имеет ли представление какие-либо встроенные функции?и сколько времени требуется для выполнения при прямом запуске без слоя, такого как .net? поэтому через студию управления и т. д. ... –
вид не содержит встроенных функций. просмотр занимает всего несколько миллисекунд при прямом запуске через .net или студию управления sql при выполнении sp_refresh. если sp_refresh не выполняется, просмотр по-прежнему выполняется только в миллисекундах с сервера sql, но время при запуске от .net – Baahubali
@ user1490835, ваш последний комментарий звучит точно так же, как название статьи [Slow in Application, Fast in SSMS] (http : //www.sommarskog.se/query-plan-mysteries.html) Эрланд Соммарског, о котором я уже говорил в своем ответе. Прочитали ли вы его и проверили, что проблема отличается от той, что обсуждается в этой статье? –