2010-07-23 9 views
14

Mam zapytanie wyboru do pobierania danych z tabel. Działa dobrze, ale gdy istnieje warunek, aby wybrać jakieś 3 wartości, nie daje wyniku. Komunikat o błędzie;Widok nie jest powiązany ze schematem?

Query processor ran out of Internal resources

Przejrzałem INDEX wydaje się działać prawidłowo, a następnie stworzyłem widok z tej instrukcji wyboru, ale nie może utworzyć indeks. Komunikat o błędzie;

View is not schema bound

Odpowiedz

28

Aby utworzyć widok indeksowany widok musi być schemat związany z podmiotami że jest to widok na.

Aby schematu widok związany, wystarczy określić po prostu użyć WITH SCHEMABINDING w widoku CREATE/UPDATE zapytanie, na przykład:

CREATE VIEW MyView 
WITH SCHEMABINDING 
AS 
-- SELECT 

Zobacz this link więcej informacji na temat schematu wiążące, lub strony MSDN na CREATE VIEW komunikat.

Jednak z tego, co powiedziałem, nie sądzę, aby indeksowany widok pomógł ci - komunikat "Procesor kwerend zabrakło zasobów wewnętrznych" oznacza, że ​​procesor kwerend nie zdołał wygenerować planu wykonania dla zapytania, które Przypuszczam, że dzieje się tak tylko w przypadku bardzo złożonych zapytań.

W jakiś sposób powinieneś spróbować zmniejszyć złożoność zapytania.

+0

Schema Binding pozwala tylko na nazwy dwóch części. Oznacza to, że możemy tylko powiązać schematy w naszej bazie danych. Oznacza to również, że gdybyśmy chcieli użyć widoku indeksowanego w widoku bazy danych, nie moglibyśmy tego zrobić. –

+0

to ograniczenie ma sens, ponieważ indeks jest z grubsza lokalną kopią wskaźników do danych. Jeśli cel jest serwerem zdalnym, lokalny serwer nie miałby pojęcia, czy indeks wskazywał na zmienność między ostatnim uaktualnieniem indeksu, a także kiedy próbował pobrać dane przez sieć –