W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
可以使用 Fetch Size 更改行獲取值來(lái)更改每次訪問(wèn)數(shù)據(jù)庫(kù)游標(biāo)時(shí)檢索的行數(shù)。
默認(rèn)情況下,OceanBase Connector/J 運(yùn)行查詢時(shí),默認(rèn)一次從數(shù)據(jù)庫(kù)游標(biāo)中檢索 10 行的結(jié)果集。
使用標(biāo)準(zhǔn) JDBC,還可以指定每次查詢數(shù)據(jù)庫(kù)往返所獲取的行數(shù),該數(shù)量稱為 Fetch Size。在 OceanBase Connector/J 中,行預(yù)取值為語(yǔ)句對(duì)象中的默認(rèn)訪存大小。設(shè)置訪存大小會(huì)覆蓋行預(yù)取值設(shè)置,并影響該語(yǔ)句對(duì)象的后續(xù)查詢。
Fetch Size 也用于結(jié)果集中。當(dāng)語(yǔ)句對(duì)象運(yùn)行查詢時(shí),語(yǔ)句對(duì)象的 Fetch Size 將傳遞給查詢的結(jié)果集對(duì)象。但是,您也可以在結(jié)果集對(duì)象中設(shè)置訪存大小,以覆蓋傳遞給它的語(yǔ)句訪存大小。
注意
生成結(jié)果集后,對(duì)語(yǔ)句對(duì)象的 Fetch Size 所做的更改對(duì)該結(jié)果集不會(huì)產(chǎn)生影響。
結(jié)果集的 Fetch Size,無(wú)論是顯式設(shè)置的,還是默認(rèn)等于傳遞給它的語(yǔ)句 Fetch Size,都可以確定后續(xù)對(duì)該結(jié)果集進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)時(shí)檢索到的行數(shù)。這包括完成原始查詢?nèi)匀恍枰乃行谐?,以及將?shù)據(jù)重新提取到結(jié)果集中的所有行程。可以顯式或隱式地重新獲取數(shù)據(jù),以更新對(duì)回滾敏感或?qū)貪L不敏感/可更新的結(jié)果集。
對(duì)所有 Statement
、PreparedStatement
、CallableStatement
和 ResultSet
對(duì)象,可以使用以下方法來(lái)設(shè)置和獲取 Fetch Size:
void setFetchSize(int rows) throws SQLException
int getFetchSize() throws SQLException
要設(shè)置查詢的 Fetch Size,請(qǐng)?jiān)谶\(yùn)行查詢之前在語(yǔ)句對(duì)象上調(diào)用 setFetchSize
。如果將 Fetch Size 設(shè)置為 N,則每次訪問(wèn)數(shù)據(jù)庫(kù)時(shí)都會(huì)獲取 N 行。
運(yùn)行查詢后,可以在結(jié)果集對(duì)象上調(diào)用 setFetchSize
來(lái)覆蓋傳遞給它的語(yǔ)句對(duì)象訪存大小。這將影響到數(shù)據(jù)庫(kù)的后續(xù)行程,為原始查詢獲取更多行,并影響以后的行重取。
標(biāo)準(zhǔn) JDBC 驅(qū)動(dòng)可以預(yù)先指定用于處理結(jié)果集的方向(稱為提取方向)。結(jié)果集設(shè)置方法如下:
void setFetchDirection(int direction) throws SQLException
int getFetchDirection() throws SQLException
OceanBase Connector/J 僅支持向前的預(yù)設(shè)值,可以通過(guò)輸入 ResultSet.FETCH_FORWARD
靜態(tài)常量值來(lái)指定該值。
不支持值 ResultSet.FETCH_REVERSE
和 ResultSet.FETCH_UNKNOWN
,如果嘗試指定會(huì)導(dǎo)致 SQL 警告,并且設(shè)置將被忽略。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: