使用哪個行集大小取決於應用程式。 基於螢幕的應用程式通常採用兩種策略之一。 第一種是將行組大小設定為螢幕上顯示的列數;如果使用者調整螢幕大小,應用程式會相應調整列集大小。 第二種是將列集大小設為較大的數字,例如100,這樣可以減少呼叫資料來源的次數。 應用程式在可能時會在行集內部本地捲動,只有在列集外捲動時才會擷取新列。
其他應用程式,如報表,則傾向將列集大小設為應用程式合理能處理的最大列數——而較大的列集有時會降低每列的網路負擔。 一列集的大小取決於每列的大小及可用記憶體量。
行集大小是透過呼叫 SQLSetStmtAttr 設定, 屬性參數為 SQL_ATTR_ROW_ARRAY_SIZE。 應用程式可以在資料列被擷取後,改變列集大小、綁定新的列集緩衝區(透過呼叫 SQLBindCol 或指定綁定偏移量),或兩者兼施。 改變行集大小的影響取決於函式:
SQLFetch 和 SQLFetchScroll 會利用呼叫時的列集大小來決定要取幾列。 然而, SQLFetchScroll 的 FetchOrientation 為 SQL_FETCH_NEXT 會根據前一次取指的行集遞增游標,然後再根據當前的行集大小取出一個列集。
SQLSetPos 使用前述呼叫 SQLFetch 或 SQLFetchScroll 時生效的列集大小,因為 SQLSetPos 是對已設定的列集操作。 若在列集大小變更後呼叫 SQLBulkOperations,SQLSetPos 也會接收新的列集大小。
SQLBulkOperations 使用呼叫時生效的列集大小,因為它對資料表執行的操作獨立於任何擷取的列集。