Stworzyłem ostatnio na bazie widok, który wyciąga dane z kilku różnych tabel i chociaż samo zapytanie wykonuje się w kilkanaście sekund to już po odpaleniu z widoku wydajność drastycznie spada i zapytanie wykonuje się ale kilkanaście minut na tej samej bazie danych.
Czy ktoś spotkał się z podobnym problemem?
0
0
tak, napisać widok, który zabije wydajność to nie jest żadna sztuka. A temat rozwiązuje się tak jak każde inne zapytanie zaczynając od analizy planu zapytania
0
Tak to jasne tylko bardziej chodziło mi o to czemu zapytanie odpalone nie z widoku wykonuje się szybko, a odpalone z widoku dużo dłużej chociaż to ciągle to samo zapytanie.
0
no toż ci napisałem - porównaj plany zapytań obu a się dowiesz
0
Podpowiem Ci np OR potrafi skutecznie obniżyć wydajność zapytania, jeśli najwięcej wyników zwracasz gdzieś w dalszej części zapytania, robisz cross joiny to combo zabijające wydajność.
0
Okazało się, że TOP 100 zabijało całą wydajność widoku.
Wystarczyło usunąć TOP 100 z zapytania i wykonuje się w kilka sekund ;)