獲取使用服務器遊標和使用流式傳輸獲取結果之間在行爲方面有什麼區別??服務器光標獲取與流式傳輸之間的區別
前者(服務器遊標)可以被激活:
對於每一個語句通過設置連接屬性
useCursorFetch=true
和defaultFetchSize=N
。 (凡ñ大於零的數字。)由最初設置在連接上useCursorFetch=true
或com.mysql.jdbc.Connection.setUseCursorFetch(true)
,隨後java.sql.Statement.setFetchSize(N)
的聲明或個人陳述。
後者(streaming)可以被激活:通過設置java.sql.Statement.setFetchSize(Integer.MIN_VALUE)
或者通過在主叫statment com.mysql.jdbc.Statement.enableStreamingResults()
在單個語句。
,可能通過設置在連接屬性,其中X是一個數字等於
Integer.MIN_VALUE
defaultFetchSize=X
每個語句。
用這些替代方法開發時需要考慮什麼?一個很好的答案可能會觸及性能,鎖定控制和資源分配(/取消分配)等主題。