행 집합 크기
사용할 행 집합 크기는 애플리케이션에 따라 달라집니다. 화면 기반 애플리케이션은 일반적으로 두 가지 전략 중 하나를 따릅니다. 첫 번째는 행 집합 크기를 화면에 표시되는 행 수로 설정하는 것입니다. 사용자가 화면 크기를 조정하면 애플리케이션이 행 집합 크기를 적절하게 변경합니다. 두 번째는 행 집합 크기를 100과 같이 더 큰 숫자로 설정하여 데이터 원본에 대한 호출 수를 줄이는 것입니다. 애플리케이션은 가능하면 행 집합 내에서 로컬로 스크롤하고 행 집합 바깥쪽을 스크롤할 때만 새 행을 가져옵니다.
보고서와 같은 다른 애플리케이션은 행 집합 크기를 애플리케이션이 합리적으로 처리할 수 있는 가장 큰 행 수로 설정하는 경향이 있습니다. 행 집합이 클수록 행당 네트워크 오버헤드가 감소하는 경우가 있습니다. 행 집합의 크기는 각 행의 크기와 사용 가능한 메모리 양에 따라 달라집니다.
행 집합 크기는 특성 인수가 SQL_ATTR_ROW_ARRAY_SIZE SQLSetStmtAttr 호출에 의해 설정됩니다. 애플리케이션은 행을 가져온 후에도 행 집합 크기를 변경하거나, 새 행 집합 버퍼를 바인딩하거나(SQLBindCol을 호출하거나 바인딩 오프셋을 지정) 할 수 있습니다. 행 집합 크기를 변경하는 의미는 함수에 따라 달라집니다.
SQLFetch 및 SQLFetchScroll 은 호출 시 행 집합 크기를 사용하여 가져올 행 수를 결정합니다. 그러나 fetchOrientation이 SQL_FETCH_NEXT SQLFetchScroll은 이전 인출의 행 집합에 따라 커서를 증분한 다음 현재 행 집합 크기에 따라 행 집합을 가져옵니다.
SQLSetPos는 SQLSetPos가 이미 설정된 행 집합에서 작동하므로 SQLFetch 또는 SQLFetchScroll에 대한 이전 호출부터 적용되는 행 집합 크기를 사용합니다. 또한 SQLSetPos는 행 집합 크기가 변경된 후 SQLBulkOperations가 호출된 경우 새 행 집합 크기를 선택합니다.
SQLBulkOperations는 페치된 행 집합과 관계없이 테이블에 대한 작업을 수행하기 때문에 호출 시 적용되는 행 집합 크기를 사용합니다.