Kolumny SPARSE w SQL Server

Definiując tabelę np. za pomocą T-SQL istnieje możliwość opatrzenia kolumny atrybutem SPARSE. Kolumny SPARSE są specjalnymi kolumnami zoptymalizowanymi na przechowanie wartości NULL. W sytuacji gdy dana kolumna często ma wartość NULL(a dokładniej pole w wierszu), warto zastanowić się nad użyciem tego parametru ponieważ oszczędności pamięciowe są dość znaczące. Z drugiej jednak strony, jeśli będziemy chcieli zapisać wartość, która jest różna od NULL w kolumnie typu SPARSE zużyjemy więcej pamięci. Oszacowane oszczędności, zależne od typu danych znajdziecie tutaj. Aby stworzyć więc tabelę z kolumną SPARSE wystarczy opatrzyć ją atrybutem:

CREATE TABLE Example
(
    ID int PRIMARY KEY,
    SparseColumnExample smallint SPARSE NULL
) ;

Ze względu na charakterystykę kolumn SPARSE kolumna oczywiście musi być również typu NULLABLE. Podobnie kolumna taka nie może posiadać wartości domyślnej co jest uzasadnione(po co optymalizacja NULL skoro zawsze będzie wstawiona wartość domyślna). Dodatkowo niektóre typy danych nie mogą być opatrzone SPARSE a dokładniej: geography, text, geometry, timestamp, image, ntext  oraz wszelkie typy zdefiniowane przez użytkownika.

Leave a Reply

Your email address will not be published.