Próbuję utworzyć indeksowany widok w SQL Server i zastanawiałem się, czy muszę indeksować kolumn widoku.Wyświetlenia indeksowane programu SQL Server
Pytam o to, ponieważ widok składa się z tabel, które już mają indeksowane kolumny.
Więc jeśli TABLE1
została kolumna FOO
już indeksowane jako non klastrowym indeksie, muszę dodać indeks na kolumnie FOO
do nowo utworzonego widoku dla SQL Server, aby skorzystać z indeksu?
A może SQL Server będzie wiedział, jak korzystać z indeksu w TABELA 1 podczas przeszukiwania widoku?
Widok wygląda to
CREATE VIEW [dbo].[v_eventActivity]
WITH SCHEMABINDING
AS
SELECT ea.id,
e.eventID,
e.name,
ea.userID,
ea.activityTypeID,
ea.timeStamp,
ea.visitDuration
FROM dbo.table1 e,
dbo.table2 ea
WHERE e.eventID = ea.eventID
mam zamiar być na poszukiwania tych wszystkich kolumn razem.
Jak już wcześniej wspomniano, wszystkie tabele 1 i tabela 2 mają już te indeksowane kolumny.
Myślałem, że znam odpowiedź na to, ale na piśmie ustalenia, że w rzeczywistości nie mam. Dobry Q! najlepszym sposobem na poznanie może być wypróbowanie tego i zobaczenie. również powinieneś określić, jaka jest wersja SS. – JNK
Zwykle widok indeksowany nie reprezentuje całej tabeli, więc reprezentowanie indeksu na konkretnej kolumnie zwykle nie ma sensu. Czy masz już utworzony widok? Czy możesz udostępnić strukturę tabeli, indeks, o którym mówisz, oraz definicję widoku (w tym jego indeksów)? –
Rzeczywiście spróbowałem. Plan wykonania zapytań mówi, że korzysta z indeksu oryginalnych tabel. Ale chciałem się upewnić. – KDV