Pchełkozagadka: rozwiązanie

Cztery (słownie: 4) dni temu opublikowałem tu niewielką zagadkę SQL. Chodziło o wydajność wyszukiwania największej wartości spośród wielu kolumn tego samego typu.

Zagadkę spróbowało rozwiązać pięć osób. To niezła średnia jak na cztery dni, chociaż spodziewałem się co najmniej siedmiu (osób, nie dni).

sniff

Cztery spośród nich zadeklarowały spożywanie pieczywa. Jedzenie bułki to poprawna odpowiedź, o ile się w danym momencie je bułkę (w wolnej chwili zweryfikuję, po przejrzeniu materiału wideo dyskretnie pozyskanego z kamer w laptopach osób głosujących)

Piąta odpowiedź wskazywała na metodę drugą jako najszybszą.

Jeżeli ktoś przyjrzy się uważnie wynikom głosowania, zauważy jeszcze szósty głos, wskazujący na metodę pierwszą. Niestety, głos ów, chociaż wskazuje na poprawną odpowiedź, musiałem brutalnie unieważnić, ponieważ należał on do mnie, a zgodnie z regulaminem autorzy blogów, ich dzieci, żony, stryjenki, pradziadowie, koty oraz wyciskarki do twarogu są wykluczone z głosowania.

Czy liczba mnoga od „wyciskarka do twarogu” brzmi „wyciskarki do twarogu” czy też raczej „wyciskarki do twarogów”? Przecież niezbyt często zdarza się, żeby dwie wyciskarki wyciskały dokładnie ten sam twaróg. Tyle pytań, tak mało czasu. Jak żyć?

Metoda pierwsza jest najszybsza, ponieważ (a) zawiera minimalną ilość operatorów agregujących oraz (b) skanuje całą tabelę tylko raz. Żadnych UNPIVOT-ów (metoda 2), żadnych UNION-ów na kilku kolumnach (metoda 3) i tak dalej.

Czasowo u mnie wyszło tak, że pierwsza metoda wykonała się w 15 milisekund, druga w 33 a trzecia w 70 (przypominam, chodzi o 10000 rekordów). Zwiększanie ilości rekordów sprawia, że metoda 3 spowalnia liniowo, natomiast czas wykonania metody 2 pozostaje względnie niedaleko metody 1, co oznacza, że w warunkach „bojowych” zasadniczo można sobie wybrać między 1 a 2 i nie zauważy się zbyt wielkiej różnicy.

Niestety, ponieważ nikt nie udzielił poprawnej odpowiedzi, nagrody nie będzie.

Jeżeli ktoś takowej by udzielił, nagrody również by nie było, ale o tym sza.

Za to będzie kara: lada moment pojawi się kolejny wpis.

Nie ma lekko.

Autor: xpil

Po czterdziestce. Żonaty. Dzieciaty. Komputerowiec. Krwiodawca. Emigrant. Rusofil. Lemofil. Sarkastyczny. Uparty. Mól książkowy. Ateista. Apolityczny. Nie oglądam TV. Uwielbiam matematykę. Walę prosto z mostu. Gram na paru instrumentach. Lubię planszówki. Słucham bluesa, poezji śpiewanej i kapel a’capella. || Kliknij tutaj po więcej szczegółów ||

Dodaj komentarz

9 komentarzy do "Pchełkozagadka: rozwiązanie"

Powiadom o
avatar
Sortuj wg:   najnowszy | najstarszy | oceniany
Butter
Gość

moje testy pokazały coś innego.

Drakkar
Gość

Ha! Mam zaklejoną kamerę w laptopie. I co teraz?

Drakkar
Gość

Tak naprawdę nie mam, ale cicho 😛

wpDiscuz