TSQL

Trzy sposoby na eksport obrazów z SQL Server

SQLServerExportBLOB_00
Follow me

Adrian Chodkowski

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

Dziś powiemy sobie nieco o tym jak eksportować obiekty takie jak zdjęcia czy też ogólnie pojęte obiekty BLOB przechowywane w bazie danych do rzeczywistych fizycznych plików. Do tego celu wykorzystamy trzy różne techniki w postaci narzędzia bcp, skryptów OLE DB Automation oraz pakietów Integration Services. W tym miejscu chciałbym zaznaczyć, iż nie będziemy teorii ani omawiać zalet i wad przechowywania tego typu danych wewnątrz bazy danych, po prostu stworzymy sobie prosty tutorial, który mam nadzieję okaże się pomocny. Ogólnie rzecz biorąc warto powiedzieć, że jeśli możemy to danych tego typu lepiej w bazie nie przechowywać, jednakże czasem nie ma wyjścia…
Read more

Adaptive Query Processing – Memory Grant Feedback

SQLServerMemoryGrantFeedback_00
Follow me

Adrian Chodkowski

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

Kontynuujemy naszą małą serię związaną z Adaptive Query Processing czyli elastycznym dostosowaniu zapytania w trakcie jego wykonania. Do tej pory udało mi się opisać dwa mechanizmy wchodzące w skład AQP i były to Interleaved Execution oraz Adaptive Join, dziś opowiemy sobie o kolejnym, który został wprowadzony w SQL Server 2017 i ulepszony w wersji SQL Server 2019 o dosyć ciekawie brzmiącej nazwie tj. Memory Grant Feedback, serdecznie zapraszam do lektury. Na wstępie powiedzmy sobie kilka słów o tym czym jest  Memory Grant i od czego zależy. Jak sama nazwa wskazuje jest to nic innego jak przydział pamięci nadawany przez SQL…
Read more

In-memory OLTP – Memory Optimized Table Variables

SQLServer_Inmemoryvariables_00
Follow me

Adrian Chodkowski

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

Użycie zmiennych tabelarycznych i tabel tymczasowych w SQL Server jest niezwykle popularne. Ludzie na co dzień pracujący z kodem czy to TSQL czy też innym językiem dedykowanym do wytwarzania oprogramowania przywykli do konceptu zmiennej. Obiekt tego typu oprócz przechowywania danych skalarnych pozwala również zachować rezultat w postaci tabeli. W SQL Server tabelaryczna forma zmiennych okryta jest złą sławą i chyba każdy z nas chociaż raz uczestniczył w sesji lub czytał artykuł, który porównywał zmienne tabelaryczne z tabelami tymczasowymi. Wad zmiennych tego typu z całą pewnością jest sporo jednakże nie oznacza to, że nie sprawdzą się one w żadnej sytuacji. Nie…
Read more

Indeksy filtrowane – jak to działa

Follow me

Adrian Chodkowski

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

W tematyce baz danych podstawową techniką przyspieszania czy też zwiększania wydajności zapytań są indeksy. Jestem niemal pewny, że zdecydowana większość czytelników niniejszego bloga wie czym jest indeks bazodanowy i zdaje sobie sprawę jak go użyć. Każdy rozróżnia indeksy klastrowane i nieklastrowane, nowe indeksy kolumnowe itd. Natomiast zdecydowanie mniej osób zdaje sobie sprawę z istnienia tzw. indeksów filtrowanych, a jeszcze mniej je stosuje w swoich bazach. W ramach niniejszego artykułu powiemy sobie kilka słów na ich temat oraz wskażemy jak można je efektywnie wykorzystać. Indeks filtrowany jest to nic innego jak tradycyjny indeks rowstore posiadający klauzulę WHERE. Czyli innymi słowy jest…
Read more

Porównanie trzech sposobów na PIVOT w TSQL

TsqlPivot_14
Follow me

Adrian Chodkowski

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

Dane w relacyjnych bazach danych posiadają formę tabelaryczną tj. składają się z kolumn oraz wierszy. Zdarza się jednak dosyć często, że chcemy wiersze zamienić na kolumny lub kolumny na wiersze – operację taką zwyczajowo nazywamy piwotowaniem. W ramach tego artykułu chciałbym przedstawić trzy różne sposoby na osiągnięcie zamierzonego rezultatu. Oczywiście nie są to wszystkie możliwe sposoby – znajdą się inne metody na odwrócenie wyniku zarówno w samym kodzie TSQL, kodzie zewnętrznym czy w SSIS – jednakże w ramach tego artykułu chciałbym się ograniczyć do tych trzech metod, które mimo wszystko wydają się najprostsze i najbardziej popularne. Zapraszam do lektury. Na…
Read more