У меня есть несколько данных о персонале таблиц в базе данных в SQL Server 2014. Существует представление, которое выбирает выбранные данные из этих таблиц путем реализации нескольких объединений.
Одним из условий выбора строки является ее столбец n isActive = 1
в таблице NominalRoll
. В SQL Server Reporting Server есть отчет, который вызывает это представление и отображает PDF.
До сих пор в таблице NominalRoll
было 1 миллион строк, из которых 75% имели isActive = 1
. Генерация отчета занимала до 1 минуты для отображения.
В последнее время из-за некоторых требований столбец isActive
был обновлен, и теперь только 5% строк имеют isActive = 1
. Как ни странно, с тех пор отчет занимает до 4 минут для отображения, даже если количество отображаемых строк значительно уменьшилось.
При просмотре записей ExecutionLog2 выясняется, что время выборки данных из представления значительно увеличилось. Пожалуйста, помогите, это живая система.