Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

[PL] Konkurs "Co to za query" – etap 1 z 3

Igrzyska czas zacząć :-)

Zgodnie z zapowiedziami ogłaszam konkurs "Co to za query". Rozgrzewka do konkursu pokazała, że jest parę osób zainteresowanych zabawą, stąd kontynuacja tematu. Z grubsza konkurs polega na układaniu zapytań do podanych planów wykonania. Nic wielce trudnego, a zabawa ponoć przednia (nie wiem, nie brałem udziału ;-)).

[Kliknij tu, jeśli chcesz przejść od razu do zadań]

Know-How - regulamin

Większość konkursów ma swój regulamin, więc i ja uknułem w głowie jakieś małe FAQ / Know-How / Rules dla mojego konkursu. Warto ten fragment przeczytać dokładnie, by potem uniknąć zbędnych nieporozumień i by po prostu dobrze się bawić. A zatem:

  1. Konkurs jest organizowany przeze mnie – Pawła Potasińskiego (pawelp [at] plssug [dot] org [dot] pl). Sam tworzę zadania, sam je sprawdzam i sam przyznaję laury w konkursie (zatem mamy tu single point of failure, jakby co) :-) Jestem nieprzekupny, a w konkursie nie bierze udziału moja rodzina i krewni :-P
  2. Konkurs jest podzielony na 3 etapy.
  3. Każdy etap składa się z 4 zadań.
  4. Każde zadanie polega na ułożeniu zapytania, które wyprodukuje zadany plan wykonania (plany wykonania dostarczam w postaci plików .sqlplan). Dane liczbowe dotyczące statystyk wykonania należy pominąć (nie są one istotne z punktu widzenia konkursu). Liczą się poszczególne elementy planów (operatory, ich opis – predykaty, filtry, listy kolumn, etc.).
    Zaznaczam, że niektóre elementy planów są widoczne dopiero w definicji XML, a nie są widoczne na graficznej reprezentacji planów (a są też i takie elementy, które są dowolne, bo nie znajdziecie ich nigdzie w planach).
  5. Za każde zadanie uczestnik otrzymuje punkty – zero punktów lub ilość punktów przypisaną do zadania. Aby otrzymać punkty za zadanie, zapytanie musi generować plan wykonania odpowiednio identyczny z zadanym .
  6. Wszystkie zapytania należy testować na bazie danych AdventureWorks2008 (nie AdventureWorks!) postawionej na instancji SQL Server 2008. Tak, oznacza to, że w zadaniach mogą być użyte funkcjonalności SQL Server 2008.
  7. Zadania do każdego etapu będą pojawiały się co poniedziałek począwszy od dzisiaj – 11 maja 2009 (czyli ostatnia porcja zadań pojawi się 25 maja).
  8. Na wykonanie zadań z każdego etapu uczestnik ma tydzień (do następnego poniedziałku do końca dnia).
  9. Odpowiedzi do każdego etapu należy wysłać jeden raz w postaci jednego pliku .sql zawierającego zapytania - odpowiedzi do etapu na adres pawelp [at] plssug [dot] org [dot] pl (tytuł wiadomości niech będzie Co to za query).
    W przypadku nadesłania więcej niż jednej wiadomości (dosyłania odpowiedzi), honoruję tylko pierwszą wiadomość.
  10. Aktualne wyniki konkursu po poszczególnych etapach będę publikował w każdą środę począwszy od 20 maja.
  11. Zwycięzcą zostaje osoba z największą ilością punktów po trzech etapach. Nie ma lotnych premii ani zwycięzców etapów :-)
  12. W przypadku takiej samej liczby punktów o kolejności w końcowej klasyfikacji decyduje łączny czas, po którym uczestnik nadesłał rozwiązania do wszystkich etapów.
  13. Wszelkie pytania, uwagi, reklamacje (tych się raczej nie spodziewam?) zgłaszaj na adres pawelp [at] plssug [dot] org [dot] pl.

Samo mięsko czyli zadania do 1. etapu

Zadanie 1 - "Weterani" – 10 punktów

Zadanie 2 - "Złap vendora" – 15 punktów

Zadanie 3 - "Piramida" – 20 punktów

Zadanie 4 - "Los szczęścia" – 25 punktów

Nagrody

Wiem, że jeśli bierzesz udział w konkursie, to na pewno nie dla nagród, ale dla dobrej zabawy. Jednak postanowiłem, że nagrodzę tych, co popracują nad moimi zadaniami najciężej. Pełną listę nagród ogłoszę pod koniec tego tygodnia, ale już teraz daję znać, że nagrodami będą m.in.:

  • książki wydawnictwa MSPress (seria Inside SQL Server 2005),
  • książki wydawnictwa APress (głównie książki dotyczące SQL Server 2008),
  • plecaki z MTS 2005 / 2006 / 2008,
  • odzież firmowana przez Microsoft (polary, koszulki, etc.),
  • gadżety sponsorowane przez Microsoft (jest tego tyle, że na razie robię inwentaryzację :-)).

Zamierzam nagrodzić co najmniej 10 uczestników konkursu (a jak będzie większe zainteresowanie i starczy mi gadżetów, to może i więcej).

Pamiętaj jednak, że nie mam wsparcia od MS w kwestii organizacji konkursu i bynajmniej nie jest to zabawa choćby zbliżona rozmachem do Quizu 2008 organizowanego w zeszłym roku przez Grzesia Tworka :-)

Go get them tiger!

Do dzieła więc i czekam na pierwszych śmiałków :-) I pamiętaj, liczy się przede wszystkim dobra zabawa!

Opublikowane 11 maja 2009 08:31 przez brejk

Komentarze:

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

11 maja 2009 13:27 by lk-net_leszek

tiger?

chyba powinno być triger...;->

Śmiałek numer n+1 melduje się do wykonania zadania

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

11 maja 2009 13:48 by brejk

Od triggerów w tym konkursie niech ręka boska broni ;-)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

11 maja 2009 17:48 by des

Ktoś już wysłał cały zestaw odpowiedzi? Ja mam już 3 rozwiązane i chyba na tym koniec, bo 4 jest dla mnie niebanalne.

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

11 maja 2009 18:18 by brejk

@des: Pamiętaj, że nie szybkość decyduje. Tak, mam już rozwiązania, ale czy dobre... :-) Wyniki po etapie w następną środę ;-)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

11 maja 2009 19:35 by Michał

Czy w Odpowiedziach ma znaczenie kolejność znaczników <ColumnReference> w Sekcjach <OutputList> ??? :/

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

11 maja 2009 21:08 by brejk

@Michal: Nie ma. Sprawdziłem, że kolejność nie odwzorowuje zawsze dokładnie zapytania. Jedyne, czego tam nie chcę zobaczyć, to kolumna, której na pewno nie ma na liście (lub brak kolumny, która tam powinna być) :-)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

11 maja 2009 21:29 by brejk

Pierwsze rozwiązania już mam. Czekam na więcej ;-) Pamiętajcie, że tu nie ma zasady "kto pierwszy, ten lepszy". Nie zdradzę, jak poszło pierwszemu zawodnikowi - cierpliwości ;-)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

11 maja 2009 22:21 by lk-net_leszek

Rozkminiłem właśnie pierwsze....

No jaki po prostu sukces.... no i już się czuję wspaniale.

Kminię teraz drugie....... a w tle Planeta.fm

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

12 maja 2009 00:56 by Michał

Zrobione... ale koło północy już naprawdę wątpiłem czy dam wogóle rade.. powiem tak , kto czyta - nie błądzi ,prawda Paweł? :)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

12 maja 2009 07:23 by brejk

@Michal: Dokładnie tak. Po wszystkim będziemy mogli podzielić się uwagami do zawartości planów. Bo na pewno po tych paru zadankach już będziecie mieli obserwacji sporo :-)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

13 maja 2009 15:42 by Michał

No i jak idzie walka z planami szanownym kolegom ?,Paweł nabrał wody w usta i nic nie wiadomo

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

13 maja 2009 15:56 by brejk

@Michal: Na razie mam ledwie 3 uczestników, którzy nadesłali odpowiedzi (sic!)... Albo słabo reklamuję, albo marne nagrody, albo po prostu za łatwe plany ;-)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

13 maja 2009 16:30 by Amiga

czemu ta strona nie dziala na operze ???

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

13 maja 2009 21:37 by lk-net_leszek

WOW!......

Rozkminiłem również 4-te.....

Zaraz ślę maila....

Chłopaki - czytać, szukać... da się!!!

Archeolog wam to mówi....

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

14 maja 2009 08:39 by Michał

Hehe - no pewnie że się da  :]

Paweł nie mówił że bedzie łatwo i dla mnie nie było... przypomniały mi sie stare dobre czasy zest-riddle :)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

14 maja 2009 13:31 by Dalian

Był kiedyś znany taki dowcip:

Breżniew przyjechałdo Polski odwiedza różne miejsca i trafił do Biblioteki. Wziął pierwszą z brzegu książkę i czyta:

"Litwo, Ojczyzno moja..."

Podnosi wzrok i pyta:

- Kto to napisał ???

- Mickiewicz...

- Sprowadzić!

- Ale on nie żyje...

- Noooooo chyba trochę przesadziliście...

To było przy trzecim, potem było jeszcze gorzej.

PS. Zrobiłem dwa :(((

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

14 maja 2009 22:41 by brejk

@Dalian: Walcz! Czasu jest jeszcze do poniedziałku trochę :-)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

15 maja 2009 07:27 by lk-net_leszek

@Pawel: Właśnie dostałem zwrotkę z serwera, że moja wiadomość nie przeszła.... wysłałem odpowiedzi ponownie...

Uff - dobrze że dopiero piątek. A poprzednia wysyłana 13 maja wieczorem. Nie jestem przesądny, ale ...

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

15 maja 2009 21:41 by brejk

@lk-net leszek: Nie mam nadal Twojego skryptu... Ale mam za to skrypty kolejnych uczestników. W sumie 5 zawodników nadesłało odpowiedzi. To chyba nie koniec? ;-)

# [PL] Konkurs "Co to za query" - nagrody

15 maja 2009 22:48 by SQLGEEK

Zgodnie z obietnicą czas na opublikowanie listy nagród dla najlepszych 10-ciu uczestników konkursu &quot;Co

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

17 maja 2009 00:39 by Dalian

Jak rozumiem czas na wysłanie tej rundy mam do poniedziałku do 23:59???

Pozdr.

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

17 maja 2009 01:10 by Dalian

I jeszcze jedno.

Jeśli wychodzi mi inna kolejność w planie to...

Opis

Ikonka Join na planie zadania 3 (Piramidy). U Ciebie w Output jest: LoginID, OrganizationNode, LoginID, Expr1004.

Jeśli u mnie jest w kolejności LoginID, OrganizationNode, ExprXXX,  LoginID

to czy to jest błąd, czy jest to spowodowanie Twoimi przeróbkami i nie należy się tym przejmować.

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

17 maja 2009 01:25 by brejk

@Dalian: Tak, czas jest do końca poniedziałku.

I nie, nie należy się przejmować kolejnością w output list. Ale zawartość niech będzie taka sama :-)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

17 maja 2009 23:07 by Michał

@Dalian: jak zauważyłeś(albo i nie) w komentarzach pytałem o to samo, dodam od siebie że jak już skonstruujesz właściwe zapytanie to nie będziesz miał problemów z ustawieniem kolejności tych znaczników

pozdrawiam

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

18 maja 2009 11:12 by Dalian

Taaaa, jaaaaaaaasne :)))

Nie udało mi się uzyskać właściwej kolejności - obawiam się, że coś jednak będzie źle...

Czwartego nie przeszedłem... Wysiadłem przy 15 wymiarze abstrakcji i nawet go nie nadgryzłem. Mam do Was prośbę: poproszę - oczywiście już po poniedziałku i poza konkursem - o informacje jak doszliście do rozwiązania. Chodzi o tok myślenia (głównie początek).

Pozdrawiam

Dalian

PS. Czy Paweł daje znać, że odebrał mail-a???

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

18 maja 2009 11:33 by brejk

@Dalian: Daje. Wysyła ID uczestnika :-)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

19 maja 2009 10:11 by pegaz_mk

@Dalian:

Cóż, ja się przyznam jak to było z czwartym :)

Zacząłem sobie googlać poszczególne elementy planu, zwłaszcza mnie intrygował table spool - lazy spool i natrafiłem na coś takiego:

http://www.sql-server-performance.com/articles/per/Breaking_Down_Complex_Execution_Plans_p1.aspx

Prawda, że pierwszy plan wygląda znajomo? ;)

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

22 maja 2009 12:52 by Michał

@Dalian: ja już wcześniej się przyznałem: "..kto czyta nie błądzi.."

Podobne query widziałem w jednej książce o SQL SERWER 2008  - pisownia zamierzona ;D

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

22 maja 2009 15:02 by brejk

@Michal: Złośliwa bestia :P

# re: [PL] Konkurs "Co to za query" – etap 1 z 3

22 maja 2009 16:36 by Michał

To nie było złośliwe - wręcz przeciwnie - ukryty marketing , bo jak widac książka się przydaje :)

# [PL] Konkurs "Co to za query" – po 2. etapie

27 maja 2009 00:12 by SQLGEEK

Drugi etap konkursu &quot;Co to za query&quot; przechodzi do historii. Podobno było trudniej niż w początkowej

# [PL] Konkurs "Co to za query" - finał

3 czerwca 2009 08:05 by SQLGEEK

Voila! Szczęśliwie dotarliśmy do końca konkursu &quot;Co to za query&quot; . To była przednia zabawa,

Komentarze anonimowe wyłączone

About brejk

MVP, MCT, SQL Server geek