Przykład z życia:
Jest sobie zapytanie SQL. Prosty SELECT z kilkoma joinami, kilka parametrów. Baza klienta - IBM DB2 6.1. Sterownik jt400 (z jtopen).
Tabelki mają po kilkaset milionów rekordów. SQL przy normalnym obciążeniu wykonuje się około 1 sekundy, dając na wyjściu od 0 do 20-100 rekordów.
Zapytanie jest raz przygotowane, później wiele razy wykonywane z różnymi parametrami.
Od pewnego czasu pojawił się problem:
Zapytanie wykonane kilka (tu: 3 razy) z różnymi zestawami parametrów (nazwijmy je A, B i C) wykonuje się poprawnie.
Takie samo zapytanie wykonane w kolejności B, A, C - również wykonuje się poprawnie
Jednak kolejność C, B, A - powoduje zawieszenie się zapytania na długie godziny (w końcu po 2-3 godzinach jest poprawny wynik).
Pytania testowe:
1. Co może być przyczyną.
2. Co zrobić (bez znajomości przyczyny), żeby system działał poprawnie.
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz