En indekseret visning vil forårsage de samme problemer som et indeks i kolonnen, fordi indekserede visninger kræver with schemabinding
, som binder den direkte til tabellen, hvilket forhindrer dig i at ændre/ændre tabellens skema på nogen måde, form eller form. Dette inkluderer ændring af størrelsen på en kolonne (f.eks.-fra varchar(50)
til varchar(255)
), ændring af en kolonnes datatype (f.eks.-fra double
til decimal(18,5)
), osv. Jeg har set dem forårsage en masse uventet hovedpine på grund af dette faktum.
Mit forslag er at opsætte en lagret procedure eller SSIS-pakke, der vil oprette en rapporteringstabel til dig, der køres hver time eller deromkring. På denne måde kan du indeksere det evigt kærlige helvede ud af det og nyde alle de præstationsfordele, det giver. Jeg er tilbageholdende med at rapportere fra et live, igangværende system. Jeg har faktisk endnu ikke set sagen, hvor dette er nødvendigt. Til rapporteringsformål er timegammel information som regel absolut tilstrækkelig til at få arbejdet gjort.