2010-02-25 30 views
5

Testuję różne schematy blokowania dla dużej tabeli, ponad 4 miliony wierszy i spodziewany wzrost do 10 milionów.Szczegóły wpływu różnych schematów blokowania w bazach danych?

Moje doświadczenie z SyBase:
ALLPAGES, bardzo powolny BCP (w) i aktualizacja z polem należącym do Klucza podstawowego.
DATAROWS, szybki BCP, szybka aktualizacja dla pól w PK, najszybszy wybór.
DATAPAGES, najszybszy BCP i aktualizacja, i szybszy wybór niż ALLPAGES, ale nie tak szybki jak DATAROWS.

Nie jestem ekspertem, ale wydaje mi się, że DATAROWS blokuje więcej niż DATAPAGES, i nie widziałem żadnej wady z DATAPAGES.

Jedyną zaletą dla DATAROWS, którą mogłem znaleźć, była nieco szybsza wydajność w selektorach, które używają klucza podstawowego, ale DATAPAGES jest znacznie szybszy przy aktualizacjach.

Jakieś doświadczenia w praktyce?
W jaki sposób porównywane są te schematy blokowania?
Plusy/minusy każdego?

Próbowałem przeczytać o teorii za tym, ale nie jest to dla mnie jasne.

+0

Strange: Zauważyłem, że kiedy stosuje się nową klastrowego PK dla tabeli, która jest już z zamkiem datapages, to nie wydaje się fizycznie zamówić dane, kiedy robię wybierz * z niego, nie wszystkie wyniki są sortowane przez PK ... Dlaczego tak jest? – mencargo

Odpowiedz

0

Blokowanie to mechanizm kontroli współbieżności. Zapewnia spójność danych wewnątrz i pomiędzy transakcjami. Blokowanie jest potrzebne w środowisku wielu użytkowników, ponieważ wielu użytkowników może być pracujących z tymi samymi danymi w tym samym czasie, więc nie powinieneś wybierać schematów blokowania według np. Prędkość BCP.

przypadku tabel, które używają Allpages Blokowanie lub datapages blokujące zarówno strona zamków lub zamków tabeli

przypadku tabel, które używają datarows zamek, albo zamki wiersz lub blokad tabeli

But Allpages-Zablokowane tabele chronią przed fantomów (wiersze, które mogą pojawiać się lub znikają z zestawu wyników), przytrzymując blokady na stronach indeksowych dla transakcji serializable readOgólnie rzecz biorąc, powinieneś używać bloków danych lub bloków danych dla tabel z rywalizacją blokadową z powodu aktualizacji i wyborów.

Czytaj więcej o blokowaniu i wydajność here

+0

Dobre informacje i użyteczna strona internetowa, ale moje pytanie dotyczy raczej rzeczywistego doświadczenia, wpływu na wydajność i porównania. "Fantomy" pojawiłyby się tylko wtedy, gdy zmiana nastąpiła w momencie czytania? Czy jest to ogólny problem z blokowaniem innych niż ALLPAGES? – mencargo

Powiązane problemy