Лучше ли иметь ссылки на представления в хранимых процедурах SQL Server вместо кода SQL, содержащегося в представлении?
Я вижу много кода вроде:
ALTER PROCEDURE [dbo].[Report_65PlusLivingAlone]
As
Begin
---- Select all 3 groups from base table
Select
*
INTO
#Temphouseholds
FROM
(
select b.ReportYearDescription as CensusYear
, Case When a.AggregationLevel = 'Minnesota' then 'Statewide'
Else a.AggregationLevel
End as AggregationLevel
, a.PopulationType
, a.PopulationSize
, Case When a.PopulationType in
('Non-Family Households, Living Alone, Age 65 +'
,'Living alone, age 65 and older') then 'households_livingalone'
When a.PopulationType = 'Householders age 65 and older' then 'householders_65plus'
Else 'total_households'
End as PopulationGroups
, Case When b.ReportYearType = 'C'
Then 'Current'
Else 'Projected'
End as censusgroups
from PublicReport_DSD.dbo.HouseholdCensusCountyInformation a
, PublicReport_DSD.dbo.ReportYear b
where a.PopulationType in ('Non-Family Households, Living Alone, Age 65 +'
,'Living alone, age 65 and older'
,'Householders age 65 and older'
,'Total'
)
and cast(a.CensusYear as varchar) = b.ReportYearDescription
and b.ReportID = 18
and b.IsActive = 1
) as Temphouseholds
, что я хочу переписать, чтобы SQL был в представлении.
Добавляет ли представление дополнительную нагрузку или, как я подозреваю, дает серверу больше информации о том, что делает sp, чтобы он мог лучше оптимизировать sp?
Спасибо за информацию,
-Beth