Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ข้อดีและข้อเสียของการใช้ MySQL Stored Procedures

มีข้อดีและข้อเสียมากมายของการใช้ MySQL stored procedures ดังนี้

ข้อดีของ MySQL Stored Procedures

ข้อดีของการใช้ MySQL Stored Procedures มีดังนี้

  • เพิ่มประสิทธิภาพแอปพลิเคชัน - หลังสร้าง stored procedure แล้ว จะถูกคอมไพล์และจัดเก็บในฐานข้อมูล แต่ MySQL นำไปใช้ stored procedures แตกต่างเล็กน้อย ซึ่งช่วยเพิ่มประสิทธิภาพแอปพลิเคชัน MySQL stored procedures ถูกคอมไพล์เมื่อมีความต้องการ (on demand) หลังคอมไพล์ stored procedure แล้ว MySQL จะนำมันใส่แคช MySQL รักษาแคช stored procedure ของตัวเองสำหรับการเชื่อมต่อแต่ละการเชื่อมต่อ หากแอปพลิเคชันใช้ stored procedure หลายครั้งในการเชื่อมต่อเดียว เวอร์ชันที่คอมไพล์แล้วจะถูกใช้ มิฉะนั้น stored procedure จะทำงานเหมือนคำสั่งคิวรี
  • รวดเร็ว - MySQL Stored procedures รวดเร็วเพราะ MySQL server ใช้ประโยชน์จากการแคช อีกเหตุผลหนึ่งของความเร็วคือ มันลดการจราจรเครือข่าย สมมติ หากเรามีงานซ้ำที่ต้องการตรวจสอบ วนลูป หลายคำสั่ง และไม่มีการโต้ตอบกับผู้ใช้ ทำได้ด้วยการเรียก procedure เดียวที่จัดเก็บอยู่บนเซิร์ฟเวอร์
  • เคลื่อนย้ายได้ (Portable) - MySQL Stored procedures เคลื่อนย้ายได้ เพราะเมื่อเราเขียน stored procedure ใน SQL เรารู้ว่ามันจะรันบนทุกแพลตฟอร์มที่ MySQL รันได้ โดยไม่จำเป็นต้องติดตั้งแพ็กเกจ runtime-environment เพิ่มเติม หรือตั้งค่าสิทธิ์สำหรับการรันโปรแกรมในระบบปฏิบัติการ
  • นำกลับมาใช้ใหม่ได้และโปร่งใส - Stored procedures เปิดเผยอินเทอร์เฟซฐานข้อมูลให้กับแอปพลิเคชันทั้งหมด เพื่อให้นักพัฒนาไม่ต้องพัฒนาฟังก์ชันที่รองรับอยู่ใน stored procedures แล้ว ดังนั้น เราจึงสามารถบอกได้ว่า MySQL stored procedures นำกลับมาใช้ใหม่ได้และโปร่งใส
  • ปลอดภัย - MySQL stored procedures ปลอดภัย เพราะผู้ดูแลฐานข้อมูลสามารถมอบสิทธิ์ที่เหมาะสมให้แอปพลิเคชันที่เข้าถึง stored procedures ในฐานข้อมูล โดยไม่ต้องให้สิทธิ์บนตารางฐานข้อมูลพื้นฐาน

ข้อเสียของ MySQL Stored Procedures

ข้อเสียของการใช้ MySQL Stored Procedures มีดังนี้

  • การใช้หน่วยความเพิ่มขึ้น - หากเราใช้ stored procedures มากมาย การใช้หน่วยความจำของทุกการเชื่อมต่อที่ใช้ stored procedures นั้นจะเพิ่มขึ้นอย่างมาก
  • จำกัดสำหรับตรรกะทางธุรกิจที่ซับซ้อน - จริงๆ แล้ว โครงสร้างของ stored procedure ไม่ได้ออกแบบมาเพื่อพัฒนาตรรกะทางธุรกิจที่ซับซ้อนและยืดหยุ่น
  • ยากต่อการแก้ไขบั๊ก (Debug) - ยากต่อการ debug stored procedures ระบบจัดการฐานข้อมูลเพียงไม่กี่ตัวที่อนุญาตให้คุณ debug stored procedures น่าเสียดายที่ MySQL ไม่ได้จัดเตรียมสิ่งอำนวยความสะดวกสำหรับการ debug stored procedures
  • ยากต่อการบำรุงรักษา - ไม่ง่ายที่จะพัฒนาและบำรุงรักษา stored procedures การพัฒนาและบำรุงรักษา stored procedures มักต้องการชุดทักษะเฉพาะที่นักพัฒนาแอปพลิเคชันไม่ใช่ทุกคนครอบครอง สิ่งนี้อาจนำไปสู่ปัญหาในทั้งขั้นตอนการพัฒนาแอปพลิเคชันและขั้นตอนการบำรุงรักษา