Widoki: Widoki indeksowane w SQL cz. II
Widoki indeksowane przyspieszają dostęp do zgromadzonych danych oraz ograniczają ilość wykonywanych operacji przy odczytywaniu rekordów. Zobaczmy więc jak je stworzyć.
UWAGA: Omawiany materiał działa na bazach danych firmy Microsoft.
Po pierwsze widok musi być utworzony z opcją SCHEMABINDING, która „łączy” schemat widoku z danymi jakie on przechowuje. Ważne jest to, że dopóki taki widok istnieje, nie można modyfikować ani usuwać tabel bazowych w sposób wpływający na jego definicję. Sam widok można natomiast w każdej chwili usunąć poleceniem DROP VIEW.
Tworzenie widoku indeksowanego:
CREATE VIEW widokIndeksowany WITH SCHEMABINDING AS SELECT imie, nazwisko FROM dbo.klienci WHERE miasto <> 'Kraków';
Sam SCHEMABINDING nie tworzy jeszcze widoku indeksowanego — trzeba dodatkowo utworzyć na widoku unikatowy indeks klastrowany:
CREATE UNIQUE CLUSTERED INDEX IDX_widokIndeksowany ON widokIndeksowany (imie, nazwisko);
Tabela klienci:
| ID | Imie | Nazwisko | Miasto |
| 1 | Jan | Kowalski | Warszawa |
| 2 | Michał | Łagoda | Kraków |
| 3 | Marcin | Kulczyk | Kraków |
| 4 | Radosław | Sikorski | Kraków |
| 5 | Monika | Kopacz | Gdańsk |
| 6 | Piotr | Grabiec | Toruń |
| 7 | Ewa | Pogodna | Bydgoszcz |
| 8 | Sebastian | Szybki | Warszawa |