Prawa de Morgana

Ostatnio zauważyłem kontrolując kody w T-SQL, że młodzi deweloperzy nie pamiętają prawa de Morgana lub źle go interpretują. W celu przypomnienia takich podstaw omówimy dwa prawa. I prawo de Morgana jest prawem zaprzeczenia koniunkcji Zaprzeczenie koniunkcji dwóch zdań ∼(p∧q) jest równoważne alternatywie zaprzeczeń tych zdań (∼p)∨(∼q). (∼(p∧q))⇔((∼p)∨(∼q)) NOT(a AND b) = (NOT a) OR (NOT b) II prawo de Morgana jest prawem zaprzeczenia alternatyw Zaprzeczenie alternatywy dwóch zdań ∼(p∨q) jest równoważne koniunkcji zaprzeczeń tych zdań (∼p)∧(∼q). (∼(p∨q))⇔((∼p)∧(∼q)) NOT(a OR b) = (NOT Dowiedz się więcej

Flagi, mapy bitowe w T-SQL

Flaga to liczba z jedną jedynką (lub więcej) opisująca jakąś cechę. Wartości flag nie powinny się pokrywać, chyba że się nie wykluczają – wspólna (pod)cecha. Generalnie mapy bitowe pozwalają na przechowywanie wielu wartości flag czyli wartości poszczególnych bitów mapy (flag, ustawień) w jednej liczbie. Do sprawdzania flag najlepiej jest używać operatory bitowe. 32-bitowy INT to 32 bity informacji na 4 bajtach, 32 informacje logiczne które zapisane z użyciem typu bit zajmowałyby całe 32 bajty. Operacje logiczne na Mapach bitowych: sprawdzenie ustawienia wybranych Dowiedz się więcej

Operatory bitowe do wykonywania operacji logicznych w T-SQL cz.II

W poprzedniej części Operatory bitowe do wykonywania operacji logicznych w T-SQL cz.I opisane zostały podstawowe operacje bitowe w T-SQL oparte na zmiennych typu bit. Teraz chcę podać przykład wyliczania tego typu operacji dla zmiennych liczbowych np. typu INT. Zasada jest podobna, gdyż na początku liczby trzeba rozpisać na postać binarną, a następnie na podstawie porównywania pojedynczych bitów (tak jak przedstawiono w części pierwszej) należy dopiero stworzyć tablice prawdy i uzyskany w ten sposób wynik binarny przekształcić na postać dziesiętną. & (Bitwise AND) Dowiedz się więcej

Operatory bitowe do wykonywania operacji logicznych w T-SQL cz.I

Jeśli potrzeba wykonać operacje logiczne na operatorach bitowych zawartych jako kolumny w tabelach bez problemu można to wykonać z poziomu języka T-SQL SQL Server. T-SQL udostępnia operatory bitowe do wykonywania operacji logicznych na kolumnach tabeli bazy danych SQL Server. Poniżej przedstawię operatory bitowe OR, AND i XOR. Zaczniemy od utworzenia tabeli z kolumną klucza podstawowego, wraz z dwiema kolumnami typu danych BIT. Następnie wypełnimy tabelę czterema wierszami, tak jakbyśmy tworzyli klasyczną tabelę prawdy. Poniżej tabela z podstawowymi operacjami logicznymi: Najpierw utworzymy tabelę Dowiedz się więcej

Nowe #CU dla SQL Server 2017 i 2019

Pojawił się w lutym 2021r nowe zestaw skumulowanych poprawek CU: w wersji 9 dla MS SQL Server 2019 (KB5000642) w wersji 23 dla MS SQL Server 2017 (KB5000685) Aktualizuje składniki usług SQL Server i Analysis do następujących kompilacji: Składnik Wersja produktu Wersja pliku SQL Server 15.0.4102.2 2019.150.4102.2 Analysis Services 15.0.34.29 2018.150.34.29 #CU9 SQL Server 2019 Składnik Wersja produktu Wersja pliku SQL Server 14.0.3381.3 2017.140.3381.3 Analysis Services 14.0.249.70 2017.140.249.70 #CU23 SQL Server 2017

List Expensive Queries using DMV and Bitwise

Poniżej przedstawiam sposób w jaki można wyciągnąć z SQL Server listę najbardziej kosztownych zapytań T-SQL. Zapytanie to zwraca do czterej list w podziale na kategorie (kryteria) tego czego szukamy: Frequently ran query High Disk Reading query High CPU query Long Running query Gdy znajdziemy już na liście interesujące nas zapytanie można przejść do ostatniej kolumny tego zapytania, otworzyć plan wykonania i rozpocząć analizę i dostrajanie zapytania. W zapytaniu tym ustawiamy odpowiednie wartości do uzyskania kategorii oraz możemy określić ile najcięższych zapytań chcemy Dowiedz się więcej