Sdílet prostřednictvím


Velikost sady řádků

Velikost sady řádků, kterou chcete použít, závisí na aplikaci. Aplikace založené na obrazovkách se často řídí jednou ze dvou strategií. První je nastavit velikost sady řádků na počet řádků zobrazených na obrazovce; pokud uživatel změní velikost obrazovky, aplikace odpovídajícím způsobem změní velikost sady řádků. Druhým je nastavení velikosti sady řádků na větší číslo, například 100, což snižuje počet volání zdroje dat. Pokud je to možné, aplikace se v sadě řádků posune místně a načte nové řádky pouze v případech, kdy se posune mimo sadu řádků.

Jiné aplikace, jako jsou sestavy, mají tendenci nastavovat velikost sady řádků na největší počet řádků, které je aplikace schopna přiměřeně zpracovat – s větší sadou řádků se síťový náklad na řádek někdy sníží. Přesně to, jak velká sada řádků může být závislá na velikosti každého řádku a množství dostupné paměti.

Velikost sady řádků je nastavena voláním SQLSetStmtAttr s argumentem Atribut SQL_ATTR_ROW_ARRAY_SIZE. Aplikace může změnit velikost sady řádků, svázat nové vyrovnávací paměti sady řádků (voláním SQLBindCol nebo určením posunu vazby) i po načtení řádků nebo obojí. Důsledky změny velikosti sady řádků závisí na funkci:

  • SqlFetch a SQLFetchScroll používají velikost sady řádků v době volání k určení, kolik řádků se má načíst. SQLFetchScroll s FetchOrientation SQL_FETCH_NEXT zvýší kurzor na základě sady řádků předchozího načtení a pak načte sadu řádků na základě aktuální velikosti sady řádků.

  • SQLSetPos používá velikost sady řádků, která je platná od předchozího volání SQLFetch nebo SQLFetchScroll, protože SQLSetPos pracuje se sadou řádků, která již byla nastavena. SQLSetPos také vyzvedne novou velikost sady řádků, pokud byl SQLBulkOperations volán po změně velikosti sady řádků.

  • SQLBulkOperations používá velikost sady řádků v době volání, protože provádí operace s tabulkou nezávislou na jakékoli načtené sadě řádků.