ฉันเพิ่งสุ่มคะแนนไปนิดหน่อย โปรดเพิ่มอีกนิด
1. คอมไพล์ล่วงหน้า ปรับให้เหมาะสม และมีประสิทธิภาพสูง วิธีนี้จะหลีกเลี่ยงความไร้ประสิทธิภาพของคำสั่ง SQL ที่ถูกส่งผ่านเครือข่ายแล้วตีความ
2. หากบริษัทมี DBA เฉพาะ เขาสามารถเขียนขั้นตอนการจัดเก็บ และโปรแกรมเมอร์จำเป็นต้องเรียกใช้ตามอินเทอร์เฟซที่เขาให้ไว้เท่านั้น ทำแบบนี้จะชัดเจนกว่า
3. ง่ายต่อการปรับเปลี่ยน การแก้ไขคำสั่ง SQL ที่ฝังอยู่ในโปรแกรมเป็นเรื่องยาก และมักไม่แน่ใจว่ามีการเปลี่ยนแปลงทุกสิ่งที่ควรเปลี่ยนแปลงหรือไม่ จะสะดวกกว่าในการแก้ไขขั้นตอนการจัดเก็บบน SQL Server คุณสามารถเปลี่ยนขั้นตอนการจัดเก็บได้โดยตรง และไม่จำเป็นต้องแตะโปรแกรมที่เรียกโดยทั่วไป เว้นแต่การเปลี่ยนแปลงจะมีขนาดค่อนข้างใหญ่ (เช่น การเปลี่ยนพารามิเตอร์ที่ส่งผ่าน ข้อมูลที่ส่งคืน ฯลฯ)
4. มันจะปลอดภัยกว่า จะไม่มีปัญหาการแทรกคำสั่ง SQL
แน่นอนว่ายังมีข้อเสียอยู่ โดยเฉพาะอย่างยิ่งเมื่อตรรกะทางธุรกิจซับซ้อนมากขึ้น การเขียนทั้งหมดใน Stored Procedure จะเหนื่อยมาก
ที่มา: บล็อกของ laifangsong