SQLPytanie 12 z 14
Jak sprawdzić poprawność wyniku na dużych danych?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Najpierw ustalam jednostkę wyniku: jeden wiersz na klienta, zamówienie czy dzień. Potem porównuję liczby rekordów i sumy przed oraz po JOIN-ach.
SQL
-- Czy raport miał jeden wiersz na klienta?
SELECT customer_id, COUNT(*)
FROM report
GROUP BY customer_id
HAVING COUNT(*) > 1;Sprawdzam: NULL, brak dopasowań, duplikaty, remisy, puste zbiory, granice dat i dzielenie przez zero. Tworzę mały zbiór z ręcznie policzonym wynikiem i porównuję próbkę z systemem źródłowym.
Pułapka: poprawna składnia i szybki plan nie dowodzą poprawności biznesowej. DISTINCT może ukryć wadliwy JOIN zamiast go naprawić.
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.