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.

9 komentarzy

        1. Zaczynam się naprawdę bać… Istnieje sposób, by włączyć i oglądać obraz z kamery w laptopie zdalnie, bez sygnalizacji tego diodą kamery umieszczoną obok niej?

          1. Drakkarze, tutaj masz więcej szczegółów na temat tego, co rejestruję, a czego nie rejestruję, podczas każdej Twojej (czy czyjejkolwiek innej) wizyty na stronie: http://xpil.eu/blog/2013/03/21/ciacho/

            Obrazków z Twojej kamery nie przechowuję zbyt długo i raczej staram się unikać publikowania ich na różnych portalach, chociaż czasem jak coś fikuśnego upoluję… No, mniejsza o to 😉

            1. Cholera… Zauważył, że ziewam za rzadko… UCIEKAAAAAAAĆ! Swoją drogą, jak to dobrze, że mój komputer nie posiada dozownika gazu usypiającego (lub nic o takowym nie wiem). Wtedy byś sobie “pomógł” w usypianiu mnie.

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]