OceanBase 常見問題排查

2021-06-30 16:08 更新

出現(xiàn)錯誤信息 “Could not read resultset: unexpected end of stream, read 0 bytes from 4”

這是在與服務(wù)器通信時出現(xiàn)的問題。

在大多數(shù)情況下,這是由讀取具有較大結(jié)果集的查詢引起的。服務(wù)器通常希望客戶端相對快速地讀取結(jié)果集。 ?net_write_timeout? 服務(wù)器變量控制此行為(默認為 60s)。如果客戶端在這段時間內(nèi)沒有讀取整個結(jié)果集,則服務(wù)器將丟棄該連接。如果不希望在此時間內(nèi)處理結(jié)果,則可以使用查詢 ?SET STATEMENT net_write_timeout = 10000 FOR XXX?,其中 ?XXX? 是指“常規(guī)”查詢。針對此查詢將 ?net_write_timeout? 設(shè)置為更長的時間(在此示例中為 10000)。

如果應(yīng)用程序通常使用很多具有 Fetch Size 的長查詢,則可以使用 ?sessionVariables = net_write_timeout = xxx? 選項設(shè)置連接。

如何進行輕量級 Ping/ 以避免大量使用“SELECT 1”

?Connection.isValid()? 可以進行輕量級 ?Ping/? 以避免大量使用 ?SELECT 1?。?Connection.isValid()? 在 MySQL 協(xié)議中執(zhí)行 Ping 操作,而不是執(zhí)行網(wǎng)絡(luò) Ping 操作。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號