後來反覆測試發現到 36 萬字多還可以,40 萬字就不行了,會拋例外
後來慢慢可以理解,如果某查詢條件下資料 2 筆,2 萬真的也還好,但這種串 id 組成 in 的做法,id 長10個字,串出 20 萬字的語句就是很自然的結果😂
可能 40 萬字的語句在等了 30 秒後拋這個回來,SqlProfiler 停止回應
老專案組 SQL 語句有很多這種
String where = "id in (' ' ";
for(int i = 0; i < data.size; i ){
where = ", '" data[i].id "'";
}
where = ")";
直到今天一個客服反映查很慢,和同事追蹤下去發現應用程式送出了20 萬字的 SQL 語句………