看板 java 關於我們 聯絡資訊
如果是用黏字串的話 很容易黏出要的SQL String sql="SELECT * FROM BOOK WHERE Id IN (0"; for(int i:booklist) { sql+=","+i; } sql+=")"; 但是如果可以的話,還是比較想用這種方式去設定搜尋條件 query="SELECT * FROM BOOK WHERE Id IN (?)"; prepStmt = conn.prepareStatement(query); prepStmt.setIntent(1, id); 請問有辦法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.16.65
phstudy:http://tinyurl.com/6hxcy5n 12/13 10:25
LaPass:了解... 感謝 orz 12/13 11:20
phstudy:http://tinyurl.com/64dpwms 用temp table效率似乎比較好? 12/13 12:04
Lordaeron:如果in statement 的item 超過10 個, 就表示你的作法有 12/13 16:01
Lordaeron:問題, 請用心去改一下. 12/13 16:11
LaPass:樓上,想請問為什麼? 12/13 18:02
Lordaeron:in = or 也就是每個條件都要判斷一次, 所以, 慢 12/13 18:42
Lordaeron:若你要找的東西, 在TABLE 中佔少數,哪個in 就變成全檢查 12/13 18:47
LaPass:瞭解了 12/13 19:16
qrtt1:有沒有全檢要請 LaPass 用 explain 這類的指令確定一下唄 12/13 22:08
plover:這邊有很大空間可以調教效能,batch, sp, batch-style sp.. 12/13 22:46
Lordaeron:全檢查是指in裏的ITEM, 不是full table scan 12/14 00:29
swpoker:in也會是去用index的~所以=很快的~用IN也一樣 12/14 14:16