Tag Too many parameters were provided in this RPC request. The maximum is 2100

[MSSQL] รู้หรือไม่ว่า WHERE IN (มันมีข้อจำกัดนะ)

Microsoft SQL Server

พอดีลองพัฒนาโมดูล Compliance ขึ้นมาใหม่ และลองทำ Stress Test ดูว่า ระบบมันรองรับได้มากที่สุดแค่ไหน โดยลองส่ง Portfolio ทีมีหลายร้อย Port เข้ามาตรวจดู ปรากฏว่าเจอ Exception ดังรูป ถ้ามาดู Exception Message แบบละเอียดหละ ซึ่งสาเหตุของมันเกิดจาก SQL ในส่วนของ WHERE IN (มันมีข้อจำกัด สำหรับ Microsoft SQL Server สามารถใส่ข้อมูล เข้าไปได้มากที่สุด 2100 ตัวเท่านั้น) โดยตัวอย่าง SQL IN เป็นแบบนี้ แล้วจำนวนเท่าไหร่ ถึงเหมาะสม…