Udostępnij przez


Rozmiar zestawu wierszy

Rozmiar zestawu wierszy, którego należy użyć, zależy od aplikacji. Aplikacje oparte na ekranie często stosują jedną z dwóch strategii. Pierwszy to ustawienie rozmiaru zestawu wierszy na liczbę wierszy wyświetlanych na ekranie; jeśli użytkownik zmieni rozmiar ekranu, aplikacja odpowiednio zmieni rozmiar zestawu wierszy. Drugi to ustawienie rozmiaru zestawu wierszy na większą liczbę, na przykład 100, co zmniejsza liczbę wywołań do źródła danych. Aplikacja przewija się lokalnie w zestawie wierszy, gdy jest to możliwe, i pobiera nowe wiersze tylko wtedy, gdy przewija poza zestawem wierszy.

Inne aplikacje, takie jak raporty, mają tendencję do ustawiania rozmiaru zestawu wierszy na największą liczbę wierszy, które aplikacja może rozsądnie obsłużyć — w przypadku większego zestawu wierszy obciążenie sieci na wiersz jest czasami zmniejszane. Dokładnie, jak duży zestaw wierszy może być zależny od rozmiaru każdego wiersza i ilości dostępnej pamięci.

Rozmiar zestawu wierszy jest ustawiany przez wywołanie metody SQLSetStmtAttr z argumentem atrybutu SQL_ATTR_ROW_ARRAY_SIZE. Aplikacja może zmienić rozmiar zestawu wierszy lub powiązać nowe bufory zestawu wierszy (wywołując funkcję SQLBindCol lub określając offset powiązania) nawet po pobraniu wierszy, lub zrobić jedno i drugie. Implikacje zmiany rozmiaru zestawu wierszy zależą od funkcji:

  • Funkcja SQLFetch i SQLFetchScroll używają rozmiaru zestawu wierszy w czasie wywołania, aby określić liczbę wierszy do pobrania. Jednak funkcja SQLFetchScroll z funkcją FetchOrientation SQL_FETCH_NEXT zwiększa kursor na podstawie zestawu wierszy poprzedniego pobierania, a następnie pobiera zestaw wierszy na podstawie bieżącego rozmiaru zestawu wierszy.

  • SqlSetPos używa rozmiaru zestawu wierszy, który jest w mocy od poprzedniego wywołania do sqlFetch lub SQLFetchScroll, ponieważ sqlSetPos działa na zestawie wierszy, który został już ustawiony. Funkcja SQLSetPos również wybierze nowy rozmiar zestawu wierszy, jeśli funkcja SQLBulkOperations została wywołana po zmianie rozmiaru zestawu wierszy.

  • Funkcja SQLBulkOperations używa rozmiaru zestawu wierszy w czasie wywołania, ponieważ wykonuje operacje na tabeli niezależnie od dowolnego pobranego zestawu wierszy.