Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00071 017337 20915723 na godz. na dobę w sumie
Profesjonalny kod T-SQL 2019. W stronę szybkości, skalowalności i standaryzacji rozwiązań dla SQL Server - ebook/pdf
Profesjonalny kod T-SQL 2019. W stronę szybkości, skalowalności i standaryzacji rozwiązań dla SQL Server - ebook/pdf
Autor: Liczba stron: 422
Wydawca: Promise Język publikacji: polski
ISBN: 978-83-7541-438-7 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie >> inne - programowanie
Porównaj ceny (książka, ebook, audiobook).

Projektuj i pisz prosty i wydajny kod T-SQL w środowisku SQL Server 2019 i późniejszych. Tworzenie kodu T-SQL, wydajnie zwracającego właściwe wyniki może stanowić wyzwanie. Książka ta pomoże w tworzeniu takiego kodu, który działa szybko i jest łatwy w utrzymaniu. Dowiesz się również, jak implementować kontrolę wersji, testowanie i strategie wdrożenia.

Przykłady i ćwiczenia do samodzielnego wykonania pokazują nowoczesne praktyki T-SQL wraz z jednoznacznymi wyjaśnieniami. Uwaga skupiona jest na wyborze właściwych typów danych i obiektów przy projektowaniu rozwiązań. Autorka Elizabeth Noble pokazuje, jak usprawnić wydajność kodu T-SQL dzięki stosowaniu dobrych praktyk projektowych, które ułatwiają pracę programistów i ostatecznie zapewniają korzyści użytkownikom aplikacji. Poznasz również typowe pułapki związane z tworzeniem kodu T-SQL i sposoby unikania ich w codziennej pracy.

Czego się nauczysz:

• Wybierania właściwych typów danych i obiektów bazodanowych przy projektowaniu rozwiązań T-SQL

• Pisania kodu T-SQL, który wydajnie przeszukuje dane i efektywnie wykorzystuje dostępny sprzęt

• Implementowania kontroli wersji i metod testowania w celu uporządkowania procesu wdrażania

• Projektowania kodu T-SQL, który można usprawniać lub modyfikować mniejszym wysiłkiem

• Planowania długoterminowego zarządzania i przechowywania danych

 

Dla kogo jest ta książka:

Dla deweloperów baz danych, chcących podnieść wydajność swoich aplikacji oraz wszystkich tych, którzy mierzą się ze złożonym zapytaniami i problemami.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Strona tytułowa Elisabeth Noble Profesjonalny kod T-SQL 2019 W stronę szybkości, skalowalności i standaryzacji rozwiązań dla SQL Server Przekład: Marek Włodarz APN Promise, Warszawa 2020 Spis treści O autorce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xi Podziękowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Część I. Budowanie zrozumiałego T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Rozdział 1. Typy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Numeryczne typy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Dokładne numeryczne typy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Przybliżone typy danych liczbowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Konwertowanie numerycznych typów danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Łańcuchowe typy danych (string). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Łańcuchy znakowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Typy danych łańcuchowych Unicode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Binarne typy danych łańcuchowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Typ danych daty i czasu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 SMALLDATETIME, DATETIME, DATETIME2, DATETIMEOFFSET . . . . . . . . . . . . . . . . . . . . . 16 Inne typy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 UNIQUEIDENTIFIER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Typ GEOMETRY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Typ GEOGRAPHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 SQL_VARIANT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 v Spis treści ROWVERSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 HIERARCHYID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 TABLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 CURSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Rozdział 2. Obiekty bazodanowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Widoki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Widoki zdefi niowane przez użytkownika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Widok indeksowany . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Funkcje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Funkcje skalarne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Funkcje tablicowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Inne obiekty zdefi niowane przez użytkownika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Zdefi niowane przez użytkownika typy tablicowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Parametry o wartościach tablicowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Wspólne wyrażenia tablicowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Obiekty tymczasowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Tabele tymczasowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Zmienne tablicowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Tymczasowe procedury składowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Wyzwalacze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Wyzwalacze logowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Wyzwalacze Data Defi nition Language (DDL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Wyzwalacze Data Manipulation Language (DML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Kursory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Kursory bez nawracania (Forward-Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Kursory statyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Kursory zestawu klucza (Keyset) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Kursory dynamiczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Rozdział 3. Standaryzowanie kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Formatowanie kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Nazywanie obiektów T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Komentowanie kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 vi Spis treści Rozdział 4. Projektowanie T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Korzystanie z procedur składowanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Korzystanie z parametrów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Używanie złożonej logiki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Część II. Budowanie wydajnego kodu T-SQL . . . . . . . . . . . . . . . . . . . . . .121 Rozdział 5. Projektowanie oparte na zbiorach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Wprowadzenie do projektowania opartego na zbiorach . . . . . . . . . . . . . . . . . . . . . . . . 123 Myślenie zbiorami danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Pisanie kodu dla zbiorów danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Rozdział 6. Wykorzystanie sprzętu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Uwzględnianie pamięci przy projektowaniu kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . 146 Uwzględnianie magazynowania przy projektowaniu kodu T-SQL . . . . . . . . . . . . . . . . . 152 Uwzględnianie procesora przy projektowaniu kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . 156 Rozdział 7. Plany wykonania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Czytanie planów zapytań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Wykorzystanie indeksów w planach wykonania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Typy złączeń logicznych w planach wykonania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Rozdział 8. Optymalizacja T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Optymalizowanie odczytów logicznych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Optymalizowanie czasu trwania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Automatyczne dostrajanie bazy danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Query Store. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 Automatyczne korygowanie planów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Automatyczne zarządzanie indeksami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Inteligentne przetwarzanie zapytań . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Informacje zwrotne o grantach pamięci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Tryb wsadowy w magazynie wierszowym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Złączenia adaptacyjne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 vii Spis treści Część III. Budowanie zarządzalnego kodu T-SQL . . . . . . . . . . . . . . . . . .219 Rozdział 9. Standardy kodowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Dlaczego standardy kodowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Co włączyć do standardu kodowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Projektowanie kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Wydajność kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Użyteczność kodu T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Rozdział 10. Kontrola źródeł . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Dlaczego używać kontroli źródeł . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Jak używać kontroli źródeł . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 Konfi gurowanie kontroli źródeł . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Rozdział 11. Testowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Testy jednostkowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Testy integracyjne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Testy obciążeniowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Statyczna analiza kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Rozdział 12. Wdrażanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Flagi funkcjonalności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Automatyzowanie wdrożenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Część IV. Utrzymywalny kod T-SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315 Rozdział 13. Funkcjonalny projekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Wstawianie i aktualizowanie danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Wyłączanie funkcjonalności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Obsługa odziedziczonego kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Raportowanie oparte na danych transakcyjnych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Dynamiczny kod SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 viii Spis treści Rozdział 14. Rejestrowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Modyfi kacje danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Obsługa błędów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Rozdział 15. Zarządzanie rozrostem danych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Partycjonowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Partycjonowane tabele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 Widoki partycjonowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 Obciążenia hybrydowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Indeks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 ix
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Profesjonalny kod T-SQL 2019. W stronę szybkości, skalowalności i standaryzacji rozwiązań dla SQL Server
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: