Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 0 Dołączył: 20.03.2007 Ostrzeżenie: (0%)
|
Witam. Mam następujący problem:
Mam widok powiedzmy "A". Widok ten składa dane z trzech różnych tabel. Robie następujące zapytania na widoku: Select A.* FROM A WHERE pole1=1 AND pole2=2 AND pole3=3 Select A.* FROM A INNER JOIN TABELA ON A.klucz=TABELA.klucz WHERE TABELA.pole1=1 AND TABELA.pole2=2 AND TABELA.pole3=3 Pierwsze zapytanie wlecze się strasznie (nawet 30 sek) i obciąża procesor 100% - są założone indeksy na polach w warunkach - rekordów jest parę tysięcy. Drugie zapytanie zwraca wynik momentalnie - a różnica tylko taka, że łączę ponownie JOINEM jedną tabelę zawartą w tym widoku i zakładam warunki bezpośrednio na tabeli (a nie na widoku, który zwraca pola z tej tabeli). Czy możecie mnie oświecić dlaczego tak dziwnie się to zachowuje? Pozdrawiam |
|
|
|
kr27 Widoki - problem w wydajnościa 20.03.2007, 03:30:14
prond Wyślij jak możesz explain plan, to będę Ci mógł po... 20.03.2007, 09:01:24
kr27 ZAPYTANIE 1: Działa bardzo szybko:
SELECT b_faktu... 20.03.2007, 18:43:53
prond Pierwsze zapytanie używa złączeń typu HASH, drugie... 23.03.2007, 09:01:52
kr27 Dziękuje bardzo. Pomogło:) Śmiga tak samo szybko j... 24.03.2007, 13:55:19 ![]() ![]() |
|
Aktualny czas: 23.12.2025 - 00:42 |