Udostępnij przez


Asynchroniczne populacji

Microsoft SQL Server offers a performance optimization of populating large keyset-driven or static cursors asynchronously.Kursory statyczne i napędzane zestawu kluczy można użyć tabel pracy wbudowane tempdb.Kursory zestaw kluczy służy tabela pracy do przechowywania ich zestaw kluczy zestaw kluczy, które identyfikują wiersze kursor.Kursory statyczne służy tabela pracy do przechowywania wierszy zawierających kursor.Jeśli SQL Server kwerendy oszacowań Optymalizator liczbę wierszy zwracanych w napędzane zestawu kluczy lub kursor statyczny przekroczy wartość sp_configure kursor próg parametru serwera uruchamia się oddzielnym wątek, aby wypełnić tabela pracy.Sterowanie jest zwracane niezwłocznie do aplikacji można rozpocząć pobieranie pierwszych wierszy zamiast czekać, aż tabela całej pracy została wypełniona przed wykonaniem pierwszego pobrania kursor.

Brak niektórych dodatkowego obciążenia związanego z wypełniania kursor asynchronicznie.Jest bardziej efektywne nie wypełniania małych kursory asynchronicznie, więc sp_configure kursor próg wartość nie powinna być zestaw zbyt niskie.Rezerwowanie stosowania asynchronicznego zapełnianie dla dużych kursory.

Ostrzeżenie

SQL Server nie obsługuje generowania asynchronicznie napędzane zestawu kluczy lub statyczne kursory języka Transact-SQL.Transact-SQL cursor operations such as OPEN or FETCH are usually batched, so there is no need for the asynchronous generation of Transact-SQL cursors.SQL Server continues to support asynchronous keyset-driven or static application programming interface (API) server cursors where low latency OPEN is a concern, due to client round trips for each cursor operation.

@@kursor_ROWS funkcja raportów liczba wierszy w kursor.Wybranie opcji @@ CURSOR_ROWS na kursor z pracą tabela , nadal trwa zapełnianie, @@ CURSOR_ROWS zwraca wartość ujemną.Zwracana wartość bezwzględną liczby jest liczba wierszy, które zostały wypełnione w tabela pracy aż do czas.Na przykład, jeśli wybrano @@ CURSOR_ROWS podczas zestawu kluczy z kursor, którego podstawę stanowi zestaw kluczy nadal trwa zapełnianie, ale 1,243 klucze są już zestaw kluczy, @@ CURSOR_ROWS zwraca wartość-1243.