TSQL

MsForeachTable_00
SQL, SQL Server database, TSQL

Iterowanie przy pomocy ms_foreachtable i pętli WHILE

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

W naszej codziennej pracy z bazami danych bardzo często zdarza się sytuacja gdy musimy wykonać różnego rodzaju zadania związane ze sprawdzeniem większej ilości tabel. Na przykład chcemy sprawdzić ilość wierszy w tabelach co wymaga od nas napisania zapytania, które w jakiś sposób “przejrzy” większość bądź wszystkie tabele. Oczywiście możliwości rozwiązania takiego zadania jest naprawdę wiele: […]

SQLServerJoinElimination_00
SQL, SQL Server database, TSQL

JOIN Elimination czyli kilka słów o upraszczaniu zapytań przez SQL Server

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

W ostatnim czasie dostałem dosyć ciekawe pytanie w którym jego autor zapytał mnie o przykład zapytania w którym SQL Server nie łączył ze sobą tabel mimo, że takie złączenie zostało wyspecyfikowane w treści zapytania. Oczywiście coś takiego może mieć miejsce i nosi nazwę JOIN Elimination i może wystąpić w specyficznych warunkach. O tym kiedy i […]

SQLServerHAshbytes_00
SQL Server database, TSQL

Detekcja zmian w SQL SERVER przy pomocy funkcji haszującej HASHBYTES

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

Ładowanie większej ilości danych na potrzeby hurtowni danych lub innego repozytorium danych jest czynnością powszechną i stanowi swego rodzaju standard. Tworząc procesy ładujące zazwyczaj powinniśmy starać się robić to w sposób przyrostowy czyli wybierać ze źródeł tylko te dane, które się zmieniły od ostatniego ładowania. Aby coś takiego osiągnąć pomocny może być szereg dodatkowych mechanizmów […]

SQLServerBatchModeOnRowstore_00
SQL, SQL Server database, TSQL

SQL Server 2019 – Intelligent Query Processing – Batch Mode on Rowstore

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

W dzisiejszym artykule kontynuujemy testy związane z Intelligent Query Processing – ostatnio udało się opisać testy związane ze Scalar Function Inlining dziś natomiast powiemy sobie parę słów o równie ciekawym mechanizmie jakim bez wątpienia jest Batch Mode on Rowstore. Zanim przejdziemy do demonstracji kilka faktów wprowadzających w omawianą funkcjonalność. Batch mode to nic innego jak […]

SQLInsertWhereNotExists_00
MSSQL, SQL Server database, TSQL

INSERT WHERE NOT EXISTS i minimalne logowanie

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

W ostatnim okresie w projekcie który aktualnie realizuję natrafiłem na dosyć ciekawy i specyficzny przypadek. Wiązał się on z procedurą napisaną w TSQL, która ładowała nowe rekordy do tabeli docelowej. Co w tym takiego ciekawego? A no to, że zachowywała się ona w dosyć nieprzewidywalny sposób i razem z kolegą (pozdrawiam Krzysiek!) próbowaliśmy rozszyfrować to […]

SQLServerExportBLOB_00
Integration Services, SQL Server database, TIPS, TSQL

Trzy sposoby na eksport obrazów z SQL Server

Follow me
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 […]