Udostępnij za pośrednictwem


About Choosing a Cursor Type

Wybieranie typu kursor zależy od wielu zmiennych, w tym:

  • Ustaw rozmiar wyników.

  • Wartość procentowa danych, które mogą być potrzebne.

  • Wydajność kursor otwarte.

  • Potrzeba operacji kursor, takich jak przewijania lub pozycjonowane aktualizacji.

  • Poziom widoczności do modyfikacji danych wprowadzonych przez innych użytkowników.

Ustawienia domyślne jest poprawna dla małych wyniku, jeśli aktualizacja nie jest wykonywane, ale kursor dynamiczny jest preferowana za duży zestaw wyników których użytkownik jest prawdopodobne znaleźć odpowiedzi przed pobraniem wiele wierszy.

If the data that is to be retrieved will be consumed all at once, and there is no need for positioned updates or scrolling, default result sets are recommended.SQL Server removes the restriction that prevented having more than one outstanding default result set, when using Multiple Active Result Sets (MARS).

Zasady Wybieranie typu kursor

Niektóre reguły proste śledzenie wybierając typ kursor są następujące:

  • Zestawy wyników domyślny użycia, gdy to możliwe.W razie potrzeby przewijania mogą nadal być efektywniejsze buforowania małych zestaw wyników klient i przewijanie w pamięci podręcznej zamiast pytać serwera do zaimplementowania kursor.

  • Podczas pobierania całego wyników za pomocą domyślnego zestaw tings zestaw do klient, np. przy produkcji raportu.Domyślny zestaw wyników jest najszybszym sposobem przekazywania danych do klient.

  • Nie może być używany domyślny zestaw wyników, jeśli aplikacja używa pozycjonowane aktualizacji.

  • Należy używać zestawów wyników domyślny dla każdego Transact-SQL Instrukcja lub partia Transact-SQL instrukcji, która będzie generować wiele zestawów wyników.

  • Dynamiczne kursory Otwórz szybciej niż Kursory statyczne lub zestaw kluczy o zmiennych.Tabele wewnętrznego tymczasowej pracy musi być wbudowane Kursory statyczne i sterowanych przez zestaw kluczy są otwarte, ale nie są wymagane dla dynamiczne kursory.

  • W sprzężeniu opartej na zestaw kluczy i statyczne kursory może być szybsza niż dynamiczne kursory.

  • Opartej na zestaw kluczy lub statyczne kursory muszą być używane, jeśli chcesz zrobić pobiera bezwzględne.

  • Kursory statyczne i sterowanych przez zestaw kluczy zwiększenie zużycia tempdb.Kursory statyczne serwera tworzyć całe kursor tempdb; kompilacji kursory opartej na zestaw kluczy zestawu kluczy w tempdb.

  • Jeśli kursor musi pozostać otwarte za pomocą operacji wycofania, należy użyć synchroniczne kursor statyczny i ustawić CURSOR_CLOSE_ON_COMMIT na OFF.

Każde wywołanie funkcja API pobrania lub metoda powoduje, że roundtrip na serwerze podczas korzystania z kursorów serwera.Aplikacje należy zminimalizować tych żądań krążących powinna zostać zminimalizowana przy użyciu blok kursory rozsądnie dużą liczbę wierszy zwracanych w poszczególnych pobrania.

See Also

Concepts