woj. kujawsko-pomorskie
Administracja MS SQL
Toruń
Przez lata w bazie przybywało indeksów. Dostawca dodał kilka przy aktualizacji, poprzedni informatyk kilka „na próbę", ktoś dodał wszystkie proponowane przez narzędzie. Dziś jedna tabela z dokumentami ma kilkanaście indeksów, z których część się dubluje, a zapis dokumentu trwa coraz dłużej. Jednocześnie ważny raport nadal nie ma indeksu, którego potrzebuje.
Przegląd indeksów
Za dużo i za mało jednocześnie
Indeksy przyspieszają odczyt danych, ale każdy z nich trzeba aktualizować przy każdym zapisie. Dobrze dobrane indeksy to kompromis: tyle, ile potrzebują najważniejsze zapytania, i nic więcej.
W bazach firm z Torunia, które pracują na systemie od wielu lat, ten kompromis zwykle się rozjechał. Indeksy dodawano w odpowiedzi na bieżące problemy, nikt ich nie usuwał, a część dubluje się z innymi. Zapisy spowalniają, baza rośnie, konserwacja trwa dłużej. Tymczasem zapytania, które dziś są najważniejsze, nie mają indeksów, bo pojawiły się później.
Robimy przegląd indeksów na podstawie rzeczywistego obciążenia: które indeksy są używane, które tylko spowalniają zapisy, które się dublują i których brakuje najcięższym zapytaniom. Zmiany wprowadzamy ostrożnie, z pomiarem przed i po, i w porozumieniu z dostawcą systemu tam, gdzie indeksy są częścią aplikacji.
Zakres
Co obejmuje przegląd indeksów
Opieramy się na danych o użyciu, a nie na propozycjach narzędzi.
- Statystyki użycia indeksów w dłuższym okresie
- Indeksy nieużywane, a aktualizowane przy zapisie
- Indeksy zdublowane i zawierające się w innych
- Brakujące indeksy dla najcięższych zapytań
- Ocena propozycji indeksów przed ich dodaniem
- Uzgodnienie zmian z dostawcą systemu
- Wprowadzenie zmian w oknie serwisowym
- Pomiar zapisów i odczytów przed i po
- Nie dodajemy wszystkich indeksów proponowanych przez narzędzia
- Nie usuwamy indeksów aplikacji bez uzgodnienia z dostawcą
- Nie oceniamy użycia po jednym dniu pracy
Wyniki przeglądu
Co pokazuje przegląd i co z tym robimy
Poniżej typowe wyniki przeglądu indeksów.
| Wynik | Skutek | Działanie |
|---|---|---|
| Indeks nieużywany od miesięcy | wolniejsze zapisy, większa baza | wyłączenie, potem usunięcie |
| Dwa indeksy o tych samych kolumnach | podwójna praca przy zapisie | pozostawienie jednego |
| Indeks zawarty w innym | zbędny narzut | usunięcie węższego |
| Najcięższe zapytanie bez indeksu | odczyt całej tabeli | indeks pod zapytanie |
| Propozycja narzędzia | może dublować istniejące | ocena przed dodaniem |
| Indeks aplikacji nieużywany | narzut przy zapisie | konsultacja z dostawcą |
| Mocno pofragmentowany indeks | wolniejsze odczyty | konserwacja według fragmentacji |
Indeks, który wydaje się nieużywany, najpierw wyłączamy i obserwujemy przez pewien czas. Jeśli żadna operacja, np. roczny raport, go nie potrzebuje, dopiero wtedy go usuwamy.
Wynik
Co dostajecie
Indeksy dopasowane do tego, jak dziś pracuje firma.
- Szybsze zapisy: Bez zbędnych i zdublowanych indeksów.
- Szybsze raporty: Indeksy tam, gdzie ich brakowało.
- Mniejsza baza: I krótsza konserwacja.
Toruń w praktyce
Czego nauczyły nas przeglądy indeksów w Toruniu
Pierwsza rzecz: w bazach pracujących od wielu lat zbędne i zdublowane indeksy zajmują często zaskakująco dużo miejsca i wyraźnie spowalniają zapisy dokumentów.
Druga: narzędzia proponujące indeksy nie widzą tych, które już istnieją. Dodawanie ich propozycji bez oceny to najczęstsza przyczyna dublowania.
Trzecia: dane o użyciu indeksów warto zbierać przez pełny cykl pracy firmy, łącznie z zamknięciem miesiąca. Inaczej łatwo usunąć indeks potrzebny raz w miesiącu.
Tabela z dokumentami miała kilkanaście indeksów, a zapis faktury trwał coraz dłużej. Po przeglądzie zostało kilka potrzebnych, zapisy przyspieszyły, a raport sprzedaży dostał brakujący indeks.
Na start
Czego potrzebujemy na start
Najważniejszy jest czas na zebranie danych.
- Wersja MS SQL i system na bazie
- Operacje wolne przy zapisie i przy odczycie
- Dostęp administracyjny do serwera
- Kontakt do dostawcy systemu
- Terminy zamknięć i cyklicznych raportów
- Okno serwisowe na zmiany
Współpraca
Jak pracujemy
Zaczynamy od przeglądu stanu i zbierania danych o użyciu indeksów przez pełny cykl pracy firmy.
Przygotowujemy listę zmian i uzgadniamy ją z dostawcą systemu. Wprowadzamy zmiany w oknie serwisowym. Pracujemy zdalnie.
Mierzymy zapisy i odczyty po zmianach. W ramach opieki oceniamy każdy nowy indeks przed dodaniem.
Zasięg
Gdzie dokładnie pracujemy
Przeglądy indeksów w bazach MS SQL robimy dla firm z Torunia zdalnie.
Pracujemy też dla firm z Chełmży, Lubicza, Golubia-Dobrzynia, Aleksandrowa Kujawskiego, Ciechocinka i Wąbrzeźna.
- Stare Miasto
- Bydgoskie Przedmieście
- Chełmińskie Przedmieście
- Rubinkowo
- Na Skarpie
- Wrzosy
- Podgórz
- Bielany
- Jakubskie Przedmieście
- Kaszczorek
- Czerniewice
- Stawki
Poza samym miastem pracujemy też w okolicy: Lubicz, Chełmża, Łysomice, Złotoria, Wielka Nieszawka, Ciechocinek, Aleksandrów Kujawski. Dla nas to ten sam wyjazd, a dla wyszukiwarki osobny zestaw zapytań, o który mało kto konkuruje świadomie.
Budżet
Ile kosztuje przegląd indeksów
Koszt zależy od rozmiaru bazy i liczby tabel.
| Element | Zakres | Czas | Orientacyjnie |
|---|---|---|---|
| Przegląd i zbieranie danych | użycie indeksów przez cykl pracy | kilka tygodni obserwacji | wycena po rozmowie |
| Analiza i lista zmian | zbędne, zdublowane, brakujące | kilka godzin | godzinowo |
| Wprowadzenie zmian | w oknie serwisowym, z pomiarem | zależnie od zakresu | godzinowo |
| Opieka | ocena nowych indeksów, konserwacja | miesięcznie | abonament, wycena po przeglądzie |
Samo zbieranie danych nie obciąża bazy i nie wymaga pracy zespołu.
Współpraca
Od kilkunastu indeksów na tabeli do tych potrzebnych
Przegląd
Stan bazy i wolne operacje.
Dane o użyciu
Przez pełny cykl pracy.
Analiza
Zbędne, zdublowane, brakujące.
Uzgodnienie
Z dostawcą systemu.
Zmiany
W oknie serwisowym.
Pomiar
Zapisy i odczyty przed i po.
Pytania
Zanim zapytasz
Nie. Każdy indeks spowalnia zapisy.
Dopiero po ocenie, bo często dublują istniejące.
Tylko po uzgodnieniu z dostawcą systemu.
Przez pełny cykl pracy firmy, zwykle kilka tygodni.
Najpierw go wyłączamy i obserwujemy, więc łatwo wrócić.
Nie. Zbieranie danych jest lekkie.
Ta sama okolica
Pozostałe usługi w Toruniu
Ta sama usługa
Bazy danych MS SQL w innych miastach
Przejrzyjmy indeksy w Waszej bazie
Napiszcie, które operacje zwolniły przy zapisie albo odczycie. Zaczniemy od zbierania danych o użyciu.