Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby ustawić poziom izolacji transakcji, aplikacja używa atrybutu połączenia SQL_ATTR_TXN_ISOLATION. Jeśli źródło danych nie obsługuje żądanego poziomu izolacji, sterownik lub źródło danych może ustawić wyższy poziom. Aby określić poziomy izolacji transakcji obsługiwane przez źródło danych i jaki jest domyślny poziom izolacji, aplikacja wywołuje polecenie SQLGetInfo odpowiednio z opcjami SQL_TXN_ISOLATION_OPTION i SQL_DEFAULT_TXN_ISOLATION.
Wyższe poziomy izolacji transakcji zapewniają największą ochronę integralności danych bazy danych. Transakcje z możliwością serializacji są niezmienione przez inne transakcje i w związku z tym gwarantują zachowanie integralności bazy danych.
Jednak wyższy poziom izolacji transakcji może spowodować niższą wydajność, ponieważ zwiększa prawdopodobieństwo, że aplikacja będzie musiała poczekać na zwolnienie blokad danych. Aplikacja może określić niższy poziom izolacji, aby zwiększyć wydajność w następujących przypadkach:
Gdy można zagwarantować, że nie istnieją żadne inne transakcje, które mogą zakłócać transakcje aplikacji. Taka sytuacja występuje tylko w ograniczonych okolicznościach, takich jak wtedy, gdy jedna osoba w małej firmie przechowuje pliki dBASE zawierające dane personelu na jednym komputerze i nie udostępnia tych plików.
Gdy szybkość jest bardziej krytyczna niż dokładność, a wszelkie błędy mogą być małe. Załóżmy na przykład, że firma dokonuje wielu małych transakcji i że duże transakcje są rzadkie. Transakcja, która szacuje łączną wartość całej otwartej sprzedaży, może bezpiecznie korzystać z poziomu izolacji Odczyt niezatwierdzony. Chociaż transakcja obejmowałaby zamówienia, które są otwierane lub zamykane, a następnie cofane, zazwyczaj anulują się nawzajem, co sprawia, że transakcja jest znacznie szybsza, ponieważ nie jest blokowana za każdym razem, gdy napotyka takie zamówienie.
Aby uzyskać więcej informacji, zobacz Optymistyczna współbieżność.