Ukuran Himpunan Baris Kursor
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Kursor ODBC tidak terbatas pada mengambil satu baris pada satu waktu. Mereka dapat mengambil beberapa baris dalam setiap panggilan ke SQLFetch atau SQLFetchScroll. Saat Anda bekerja dengan database klien/server seperti Microsoft SQL Server, lebih efisien untuk mengambil beberapa baris sekaligus. Jumlah baris yang dikembalikan pada pengambilan disebut ukuran set baris dan ditentukan dengan menggunakan SQL_ATTR_ROW_ARRAY_SIZE SQLSetStmtAttr.
SQLUINTEGER uwRowsize;
SQLSetStmtAttr(m_hstmt, SQL_ATTR_ROW_ARRAY_SIZE, (SQLPOINTER)uwRowsetSize, SQL_IS_UINTEGER);
Kursor dengan ukuran set baris yang lebih besar dari 1 disebut kursor blok.
Ada dua opsi untuk mengikat kolom tataan hasil untuk kursor blok:
Pengikatan kolom bijaksana
Setiap kolom terikat ke array variabel. Setiap array memiliki jumlah elemen yang sama dengan ukuran set baris.
Pengikatan baris bijaksana
Array dibangun menggunakan struktur yang menyimpan data dan indikator untuk semua kolom berturut-turut. Array memiliki jumlah struktur yang sama dengan ukuran set baris.
Saat pengikatan bijaksana kolom atau baris digunakan, setiap panggilan ke SQLFetch atau SQLFetchScroll mengisi array terikat dengan data dari set baris yang diambil.
SQLGetData juga dapat digunakan untuk mengambil data kolom dari kursor blok. Karena SQLGetData bekerja satu baris pada satu waktu, SQLSetPos harus dipanggil untuk mengatur baris tertentu dalam set baris sebagai baris saat ini sebelum memanggil SQLGetData.
Driver ODBC SQL Server Native Client menawarkan pengoptimalan menggunakan rowset untuk mengambil seluruh tataan hasil dengan cepat. Untuk menggunakan pengoptimalan ini, atur atribut kursor ke defaultnya (teruskan-saja, baca-saja, ukuran set baris = 1) pada saat SQLExecDirect atau SQLExecute dipanggil. Driver ODBC SQL Server Native Client menyiapkan tataan hasil default. Ini lebih efisien daripada kursor server saat mentransfer hasil ke klien tanpa menggulir. Setelah pernyataan dijalankan, tingkatkan ukuran set baris dan gunakan pengikatan bijaksana kolom atau baris. Ini memungkinkan SQL Server menggunakan tataan hasil default untuk mengirim baris hasil secara efisien ke klien, sementara driver ODBC SQL Server Native Client terus menarik baris dari buffer jaringan pada klien.
Lihat Juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk