Zasadniczo istnieją 2 typy widoków w MySQL.
-
Scal widoki
Ten typ widoku w zasadzie po prostu przepisuje twoje zapytania za pomocą SQL widoku. Jest to więc skrót do samodzielnego pisania zapytań. Nie zapewnia to żadnej rzeczywistej korzyści w zakresie wydajności, ale ułatwia pisanie złożonych zapytań i ułatwia konserwację (ponieważ jeśli definicja widoku ulegnie zmianie, nie trzeba zmieniać 100 zapytań względem widoku, tylko jedną definicję).
-
Kuszące widoki
Ten typ widoku tworzy tymczasową tabelę z zapytaniem z SQL widoku. Ma wszystkie zalety widoku scalania, ale także skraca czas blokowania tabel widoku. Dlatego na mocno obciążonych serwerach może mieć dość znaczny wzrost wydajności.
Istnieje również typ widoku „Niezdefiniowany” (domyślny), w którym MySQL wybiera najlepszy typ w czasie zapytania...
Należy jednak zauważyć, że MySQL nie obsługuje widoków zmaterializowanych . Więc nie jest tak jak w Oracle, gdzie złożony widok znacznie zwiększy wydajność zapytań przeciwko niemu. Zapytania dotyczące widoków są zawsze wykonywane w MySQL.
Jeśli chodzi o wydajność, widoki w MySQL nie zwiększają ani nie zmniejszają wydajności. Są po to, aby ułatwić Ci życie podczas pisania i obsługi zapytań. Użyłem widoków tabel z setkami milionów wierszy i działały dobrze...