ข้อผิดพลาดของ SQL Server 8632 เนื่องจากมีรายการมากกว่า 100,000 รายการในส่วนคำสั่ง WHERE
ปัญหาของฉัน (หรืออย่างน้อยข้อความแสดงข้อผิดพลาด) คล้ายกันมากกับตัวประมวลผลแบบสอบถามที่ไม่มีทรัพยากรภายใน - แบบสอบถาม SQL ที่ยาวมากๆ ลูกค้าของฉันกำลังทำงานกับ SQL select-query ซึ่งมี where-clause พร้อมกับ 100,000 รายการ การค้นหาล้มเหลวด้วยข้อผิดพลาด 8632 และข้อความแสดงข้อผิดพลาด ข้อผิดพลาดภายใน: ถึงขีด จำกัด บริการนิพจน์แล้ว โปรดค้นหานิพจน์ที่ซับซ้อนที่อาจเกิดขึ้นในข้อความค้นหาของคุณและลองทำให้มันง่ายขึ้น) ฉันพบว่ามันแปลกมากที่ข้อความแสดงข้อผิดพลาดนี้ถูกส่งไปที่ 100,000 รายการดังนั้นฉันสงสัยว่านี่เป็นค่าที่กำหนดได้หรือไม่ นี่คือกรณีและในกรณีที่ใช่ฉันจะเพิ่มมูลค่านี้เป็นค่าที่สูงขึ้นได้อย่างไร ในMSDNมีข้อเสนอให้เขียนแบบสอบถามซ้ำ แต่ฉันต้องการหลีกเลี่ยงปัญหานี้ ในขณะเดียวกันฉันพบว่ารายการของสิ่งที่ฉันพูดถึงมีจำนวนธรรมชาติ แต่บางรายการก็เรียงตามลำดับ (เช่น (1,2,3,6,7,8,9,10,12, 13,15,16,17,18,19,20) สิ่งนี้ทำให้ SQL อยู่ตรงไหน - clause: where entry in (1,2,3,6,7,8,9,10,12,13,15,16,17,18,19,20) ฉันสามารถแปลงให้เป็น: where (entry between 1 and 3) …