SQL

SQL Server – tworzenie sekwencji liczbowych z wykorzystaniem obiektu SEQUENCE

Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Wśród specjalistów zajmujących się zawodowo bazą danych SQL Server powszechna jest znajomość IDENTITY, czyli pewnej właściwości przypisanej do określonej kolumny tabeli, która ma za zadanie tworzenie automatycznie numerowanej kolumny (więcej o tej właściwości można przeczytać tutaj). Jest jednak obiekt o podobnym zastosowaniu dający w niektórych aspektach nieco więcej możliwości – chodzi mianowicie o obiekt SEQUENCE, który chciałbym opisać w niniejszym artykule – zapraszam do lektury. Sekwencja jest obiektem przypisanym do określonego schematu – nie jest w żaden sposób powiązana z określoną tabelą, a co za tym idzie możliwe jest jej zastosowanie w więcej niż jednej tabeli, co nie było możliwe…
Read more

Operacje Table/Index Scan oraz Index Seek

Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Niejednokrotnie byłem świadkiem sytuacji gdy specjaliści IT mniej lub bardziej związani z bazami danych na pytanie o optymalizację zapytań często odpowiadali w stylu “trzeba zrobić tak, żeby był seek”. Stwierdzenie to w niektórych aspektach jest oczywiście prawdziwe, ale generalizowanie w tej sytuacji jest nie tylko niewłaściwe, ale według mnie  nieakceptowalne. Temat jest nieco bardziej złożony niż niektórym może się wydawać. Ponadto można się zastanowić jaki byłby cel implementacji operatora Scan skoro jest oni taki zły? Na te pytania nie ma jednoznacznej odpowiedzi i w związku z tym postanowiłem napisać parę słów na temat Seek, Scan oraz pojęcia zwanego Tipping Point…
Read more

SQL Server 2016 – COMPRESS DECOMPRESS

Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Kontynuujemy naszą serię w której poznajemy najnowszą odsłonę silnika bazodanowego SQL Server 2016. Tym razem przyjrzymy się nowym funkcjom kompresującym i dekompresującym – zapraszam! Już od dawna SQL Server był wyposażony w mechanizmy kompresujące – na poziomie tabeli czy też indeksu mogliśmy zdecydować o tym czy dany obiekt miał zostać “upakowany” tak aby zajmował mniej miejsca. Do wyboru mieliśmy kompresję PAGE oraz ROW. Tak skompresowane wiersze nie tylko fizycznie zajmowały mniej miejsca, ale również zmniejszały wąskie gardło przy ich pobieraniu jakim bez wątpienia był dysk (I/O). Obok tych tradycyjnych mechanizmów w roku 2012 pojawił się nowy mechanizm niosący nowe rodzaje…
Read more

SQL Server 2016 – Drop if Exists

Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Większość z nas spotkała się z przypadkiem gdy chcemy na nowo stworzyć obiekt bez względu na to czy takowy obiekt istnieje czy też nie. Do tej pory musieliśmy radzić sobie używając IF EXISTS – na szczęście w SQL Server 2016 mamy do dyspozycji nową składnię – zapraszam do kolejnego artykułu w którym poznajemy funkcjonalności naszego ulubionego systemu bazodanowego. Zapewne większość z was ma ulubiony/wybrany sposób na usuwanie obiektów jeżeli takowe istnieją – jednym z nich jest wykorzystanie wspomnianego IF EXISTS tak jak zostało to przedstawione poniżej. Na samym początku stwórzmy sobie w ramach bazy tempdb tabelę o nazwie dbo.TEST


Read more

Funkcje agregujące i klauzule GROUP BY oraz HAVING

TSQLGroupByHaving_00

Piotr Ziuziański

Business Intelligence Specialist at JCommerce
MS BI & SQL Server fun

Interesuje się technologiami Business Intelligence Microsoftu od etapu projektowania i modelowania hurtowni danych, projektowania i wdrażania procesów ETL, po implementację kostek analitycznych i wdrożenie wizualnej warstwy raportowej. Autor bloga techniczno-teoretycznego MSBIFUN.PL poświęconego tematyce rozwiązań klasy Business Intelligence ze szczególnym uwzględnieniem platformy danych Microsoft SQL Server. Autor licznych polsko i anglojęzycznych publikacji naukowych z obszaru e-zdrowia i wizualizacji danych.
Piotr Ziuziański

Latest posts by Piotr Ziuziański (see all)

Artykuł ten jest częścią serii Od 0 do TSQL którą znajdziesz tutaj. W ramach współpracy międzyblogowej zostałem zaproszony do napisania wpisu na seequality.net za co serdecznie dziękuję Adrianowi i Sławkowi. Jako temat pozwoliłem sobie wybrać epizod w ramach serii Od 0 do 500 TSQL zatytułowany Funkcje agregujące i klauzula GROUP BY oraz HAVING. Niejednokrotnie analitycy stają w obliczu zadania opracowania raportu w oparciu o dane przechowywane w bazie danych. Raporty bardzo często dotyczą pewnych podsumowań w obrębie różnorakich grup. Temat dzisiejszego wpisu to właśnie tworzenie zestawień w oparciu o dane zgrupowane. W celu zgrupowania danych musimy posłużyć się klauzulą GROUP…
Read more