2
มีวิธีการป้องกันไม่ให้ Scalar UDFs ในคอลัมน์ที่คำนวณได้จากการยับยั้งความเท่าเทียมกันหรือไม่?
มีการเขียนมากมายเกี่ยวกับภัยของ Scalar UDFใน SQL Server การค้นหาทั่วไปจะส่งคืนผลลัพธ์จำนวนมาก มีสถานที่บางแห่งที่ Scalar UDF เป็นตัวเลือกเท่านั้น เป็นตัวอย่าง: เมื่อจัดการกับ XML: XQuery ไม่สามารถใช้เป็นข้อกำหนดคอลัมน์ที่คำนวณได้ ทางเลือกหนึ่งที่มีการบันทึกโดย Microsoft คือการใช้Scalar UDFเพื่อแค็ปซูล XQuery ของคุณใน Scalar UDF จากนั้นใช้ในคอลัมน์ที่คำนวณ สิ่งนี้มีเอฟเฟกต์ต่าง ๆ และวิธีแก้ปัญหาบางอย่าง ดำเนินการทีละแถวเมื่อมีการสอบถามตาราง บังคับให้คิวรีทั้งหมดกับตารางทำงานแบบอนุกรม คุณสามารถหลีกเลี่ยงการประมวลผลแบบแถวต่อแถวได้โดยการกำหนดฟังก์ชันและคงคอลัมน์ที่คำนวณไว้หรือสร้างดัชนี ไม่มีวิธีใดที่สามารถป้องกันการบังคับให้ลำดับของเคียวรีที่กดปุ่มตารางแม้ว่าสเกลาร์ UDF ไม่ได้ถูกอ้างอิง มีวิธีที่รู้จักกันในการทำเช่นนั้น?