1
ลำดับของคำสั่งใน“ EXISTS (…) หรือ EXISTS (…)”
ฉันมีคลาสของคำถามที่ทดสอบการมีอยู่ของหนึ่งในสองสิ่งนี้ มันเป็นรูปแบบ SELECT CASE WHEN EXISTS (SELECT 1 FROM ...) OR EXISTS (SELECT 1 FROM ...) THEN 1 ELSE 0 END; ข้อความจริงถูกสร้างขึ้นใน C และดำเนินการเป็นแบบสอบถามเฉพาะกิจผ่านการเชื่อมต่อ ODBC เมื่อเร็ว ๆ นี้พบว่า SELECT ที่สองอาจเร็วกว่า SELECT แรกในกรณีส่วนใหญ่และการเปลี่ยนคำสั่งของสองประโยค EXISTS ทำให้เกิดการเร่งความเร็วอย่างมากในกรณีทดสอบที่ไม่เหมาะสมอย่างน้อยหนึ่งกรณีที่เราเพิ่งสร้างขึ้น สิ่งที่ชัดเจนที่ต้องทำคือเดินหน้าต่อไปและสลับสองประโยค แต่ฉันต้องการดูว่ามีคนคุ้นเคยกับ SQL Server มากกว่านี้หรือไม่ รู้สึกเหมือนว่าฉันอาศัยความบังเอิญและ "รายละเอียดการนำไปปฏิบัติ" (ดูเหมือนว่าถ้า SQL Server ฉลาดขึ้นก็จะดำเนินการทั้งสองข้อ EXISTS ในแบบคู่ขนานและปล่อยให้สิ่งใดสิ่งหนึ่งที่ทำให้เกิดการลัดวงจรเป็นครั้งแรก มีวิธีที่ดีกว่าในการทำให้ SQL Server …
11
sql-server