Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
BEST S.A.
Co nowego w SQL Server 2012 dla programistów
Cezary Ołtuszyk coltuszyk.wordpress.com
Co nowego w SQL Server 2012 dla programistów Plan spotkania
I. Sekwencje
II. Nowe funkcje skalarne
III. Wzbogacona klauzula OVER
IV. Indeksy typu COLUMNSTRORE
V. Mechanizm FILETABLE
VI. Podsumowanie
Co nowego w SQL Server 2012 dla programistów Sekwencje
Sekwencje są obiektami pozwalającymi na generowanie wartości wg określonego licznika. Ich działanie jest bardzo podobne do właściwości IDENTITY znanej z wcześniejszych wersji SQL Server, jednakże w przeciwieństwie do niej nie są one bezpośrednio połączone z tabelą. Składnia sekwencji wygląda następująco:
CREATE SEQUENCE [schema_name . ] sequence_name [ AS [ built_in_integer_type | user-defined_integer_type ] ] [ START WITH <constant> ] [ INCREMENT BY <constant> ] [ { MINVALUE [ <constant> ] } | { NO MINVALUE } ] [ { MAXVALUE [ <constant> ] } | { NO MAXVALUE } ] [ CYCLE | { NO CYCLE } ] [ { CACHE [ <constant> ] } | { NO CACHE } ] [ ; ]
Co nowego w SQL Server 2012 dla programistów Sekwencje
Istnieje wiele scenariuszy wykorzystania nowej funkcjonalności SQL Server-a. Jedną z nich może być np. nadawanie numerów identyfikacyjnych podczas ładowania danych do systemu Business Intelligence:
Co nowego w SQL Server 2012 dla programistów Nowe funkcje skalarne
Kolejną nowością w SQL Server 2012 są nowe funkcje skalarne:
Conversion
functions
Date and time
functions
Logical functions String functions
PARSE DATEFROMPARTS CHOOSE CONCAT
TRY_CONVERT DATETIME2FROMPARTS IIF FORMAT
TRY_PARSE DATETIMEFROMPARTS
DATETIMEOFFSETFRO
MPARTS
EOMONTH
SMALLDATETIMEFROM
PARTS
TIMEFROMPARTS
Co nowego w SQL Server 2012 dla programistów Wzbogacona klauzula OVER
Jednym z udoskonaleń SQL Server 2012 jest rozszerzenie możliwości jaką dają nam funkcje okienkowe.
Wraz z ukazaniem się wersji CTP3 klauzula ORDER BY używana wewnątrz OVER nie jest już zarezerwowana tylko dla funkcji rankingowych, może ona być także użyta podczas agregacji. Dodatkowo używając ORDER BY w klauzuli OVER uzyskaliśmy możliwość limitowania ilości wierszy przetwarzanych przez funkcję okienkową. Aby tego dokonać używamy klauzul ROWS lub RANGE. Dzięki temu zabiegowi dokonywanie takich obliczeń jak np. sumy bieżące stało się o wiele prostsze
Co nowego w SQL Server 2012 dla programistów Wzbogacona klauzula OVER
Kolejnym usprawnieniem klauzuli OVER w SQL Server 2012 jest wprowadzenie ośmiu funkcji analitycznych:
CUME_DIST
FIRST_VALUE
LAG
LAST_VALUE
LEAD
PERCENT_RANK
PERCENTILE_COUNT
PERCENTILE_DISC
Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUMNSTORE
W SQL Server 2012 został wprowadzony nowy typ indeksów - COLUMNSTORE. Budowa takiego indeksu różni się od dotychczasowych rozwiązań. Jest ona oparta na przechowywaniu danych kolumnami, a nie jak do tej pory wierszami. Ponadto nie ma ona struktury drzewiastej.
Dzięki tej zmianie przechowywane dane mogą zostać poddane bardzo efektywnej kompresji. Głównym przeznaczeniem indeksów typu COLUMNSTORE są hurtownie danych.
Co nowego w SQL Server 2012 dla programistów Indeksy typu COLUNSTORE
Niestety indeksy typu COLUMNSTORE mają też pewne wady, z czego najbardziej dotkliwymi mogą być:
Dane w indeksie COLUMNSTORE nie mogą być modyfikowane !!!
Indeks ten może być jedynie indeksem niegrupującym
Indeks nie może mieć właściwości UNIQUE
Nie może być zakładany na widokach indeksowanych
Nie można używać kolumn typu SPARSE
Nie można zmieniać definicji indeksu przy użyciu składni ALTER INDEX
Nie wspiera mechanizmu SEEK
Co nowego w SQL Server 2012 dla programistów Mechanizm FILETABLE
SQL Server 2012 wprowadza mechanizm o nazwie FILETABLE pozwalający na przechowywanie plików binarnych w specjalnie do tego celu przeznaczonych strukturach. Dostęp do zapisanych w ten sposób danych można uzyskać zarówno z poziomu T-SQL jak i WINDOWS:
Co nowego w SQL Server 2012 dla programistów Mechanizm FILETABLE
Aby cieszyć się tą funkcjonalnością należy spełnić kilka wymagań:
włączyć FILESTRAM dla instancji
stworzyć FILESTREAM FILEGROUP dla wybranej bazy danych
ustawić odpowiedni poziom dla nietransakcyjnego dostępu do danych
ustawić nazwę lokalizacji dostępowej do danych FILETABLE z poziomu WINDOWS
Stworzyć tabelę typu FILETABLE i umieszczać w niej dane
Co nowego w SQL Server 2012 dla programistów Podsumowanie
W SQL Server 2012 do autonumerowania kolejnych wierszy w tabeli możemy SEKWENCJI
W nowej wersji SQL-a dostaliśmy 14 nowych funkcji skalarnych, a najfajniejszą jest …
Stwierdzenie, że „Klauzula OVER w SQL Server 2012 została ulepszona” to mało powiedziane …
Indeksy typu COLUMNSTORE pozwalają efektywnie korzystać z danych hurtownianych
Mechanizm FILETABLE pozwala na jednoczesne przechowywanie danych w bazie i dostęp do nich z poziomu WINDOWS