Nowe funkcje w T-SQL oraz niespodziewane odkrycie

Azure SQL wzbogacił się o kilka nowych funkcji z grupy String. Nie wchodząc w szczegóły i przykłady:

  • TRIM – wycina podane znaki z początku i końca napisu
  • STRING_AGG – skleja wartości wybranego pola z kolejnych wierszy w tabeli oddzielając je podanym znakiem (np. zrobi comma-separated listę e-maili per dział w firmie)
  • CONCAT_WS – skleja podane w parametrach wartości rozdzielając podanym znakiem (np. utworzy “nazwę” osoby łącząc spacjami pierwsze i drugie imię oraz nazwisko)

No i spoko, zawsze lepiej mieć gotowe (i prawdopodobnie wydajne) niż rzeźbić samemu i tworzyć własne rozwiązania w każdej bazie, w której się tego akurat potrzebuje.

Ale! Najlepsze jest to, że coś mnie tknęło w momencie kiedy chciałem zamarudzić “no dobra, contaty ładne, a gdzie jest split god damnit!?”. No i otworzyłem MSDNa, a tam pyk! STRING_SPLIT jest dostępny w SQL Server 2016, a że Azure SQL jest z nowinkami w miarę na bieżąco… Tadam!

Czego się to człowiek rykoszetem nie dowie przy okazji czytania newsów. Tak bardzo mi brakowało tego rodzaju funkcji jeszcze nie tak dawno. Już wiem co będę przerabiał jak wrócę z urlopu.

Źródło: New T-SQL string functions in Azure SQL Database

Query Editor w Azure Portal!

Dla mnie osobiście news dnia. Co prawda nie z dzisiaj, ale dziś się o nim dowiedziałem (dziwne, że RSS mi go nie zarzucił, no ale nic to). Portal Azure uzyskał, czy też raczej należałoby powiedzieć odzyskał, edytor zapytań. Można posłać zapytanie do bazy i obejrzeć wynik. Yay! Przydatne kiedy chce się z różnych dziwnych miejsc coś sprawdzić, albo puścić jakieś ratunkowe procedury.

To z zalet, a wady… no przeglądarka, czyli trzeba uważać na Backspace (jak nie będziemy akurat mieli focusa w okienku edycji to po grzybkach) oraz F5 – to Ci którzy korzystają z SSMS 🙂 Oprócz tego jest to dość wolne. Szybki test pokazał, że zapytanie, które odpalam z SSMSa mam zakończone w czasie ok 1 sekundy, a na ten sam wynik z portalu muszę czekać ok. 12 sekund. No ale jest to też funkcjonalność preview, więc nie ma co marudzić, a jako awaryjne narzędzie pewnie się przyda.

Źródło: Public preview: Interactive query experience for SQL databases

Szybsza baza, to lepsza baza!

No takie newsy to ja mogę czytać. Piłka jest krótka – Microsoft postanowił dać noworoczny prezent wszystkim, którzy odpowiedzialni są za kontrolowanie i optymalizację obciążenia baz Azure SQL oraz optymalizację kosztów, które one generują.

Od dziś podwojono wydajność zapisu na wszystkich tierach usługi Azure SQL, a bardziej wymagające systemy, opierające się o tiery Premium dodatkowo zyskują podwojoną wydajność odczytu. I wszystko w tej samej cenie, co wcześniej.

Można? Można 🙂

Źródło: https://azure.microsoft.com/pl-pl/blog/azure-sql-database-is-increasing-the-read-and-write-performance/

Ulepszony Automatic Tuning dla baz Azure SQL

Co prawda Automatic Tuning odbiera nieco pracy DB adminom (w tym trochę i mnie) i odziera optymalizację z pewnej aury tajemniczości i kosmiczności, ale i tak go lubimy. W dodatku teraz jest jeszcze lepszy, szybciej daje wyniki analizy obciążenia i wskazuje miejsca, gdzie można nanieść poprawki. Poprawki, które teraz można wdrożyć niemal od razu, bez dłuższego patrzenia na wykresy degradującej się wydajności.

Czy można to robić samemu? Ano można, nawet trzeba, bo wszystkiego ta zabawka nie przewidzi, na każdą ewentualność nas nie zabezpieczy, naszych pomysłów na dalsze zmiany i rozwój nie zgadnie. Ale sprawdza się elegancko jako wspomaganie, bieżąca kontrola czy wszystko gra, kiedy rzucamy się w wir zmian w kodzie nie zwracając uwagi na strukturę bazy, postawione indeksy i różnice w wymaganiach stawianych im kiedy powstawały, a stawianych dziś.

Przetestowane na tablicach o setkach milionów wpisów i dziesiątkach gigabajtów danych, daje radę.