SQL แบบคงที่
Static SQL หมายถึงคำสั่ง SQL ที่ได้รับการแก้ไขและสามารถฮาร์ดโค้ดลงในแอปพลิเคชันได้ เนื่องจาก sqls แบบคงที่เป็นคำค้นหาที่ตายตัว คำสั่งเหล่านี้จึงสามารถวิเคราะห์และเพิ่มประสิทธิภาพได้ และไม่ต้องการการจัดการเฉพาะใดๆ เพื่อความปลอดภัย
ไดนามิก SQL
Dynamic SQL หมายถึงคำสั่ง SQL ที่สร้างขึ้นแบบไดนามิกตามอินพุตของผู้ใช้และรันในแอปพลิเคชัน Dynamic Sqls ช่วยพัฒนาแอปพลิเคชันทั่วไปและยืดหยุ่น Dynamic SQL อาจต้องการการอนุญาตและการจัดการความปลอดภัยเพิ่มเติม และผู้ใช้ที่ประสงค์ร้ายก็สามารถสร้างโค้ดอันตรายได้เช่นกัน
ต่อไปนี้เป็นข้อแตกต่างที่สำคัญบางประการระหว่างการกำหนดเส้นทางแบบคงที่และการกำหนดเส้นทางแบบไดนามิก
ซีเนียร์ เลขที่ | คีย์ | SQL แบบคงที่ | Dynamic SQL |
---|---|---|---|
1 | การเข้าถึงฐานข้อมูล | ใน Static SQL ขั้นตอนการเข้าถึงฐานข้อมูลถูกกำหนดไว้ล่วงหน้าในคำสั่ง | ใน Dynamic SQL วิธีการเข้าถึงฐานข้อมูล สามารถกำหนดได้ในขณะใช้งานเท่านั้น |
2 | ประสิทธิภาพ | คำสั่ง SQL แบบคงที่นั้นเร็วและมีประสิทธิภาพมากกว่า | คำสั่ง SQL แบบไดนามิกมีประสิทธิภาพน้อยกว่า |
3 | การรวบรวม | คำสั่ง Static SQL ถูกคอมไพล์ในเวลาคอมไพล์ | คำสั่ง Dynamic SQL ถูกคอมไพล์ในขณะใช้งาน |
4 | แผนการสมัคร | การแยกวิเคราะห์ การตรวจสอบ การปรับให้เหมาะสมและการสร้างแผนแอปพลิเคชันเป็นกิจกรรมเวลารวบรวม | การแยกวิเคราะห์ การตรวจสอบ การปรับให้เหมาะสมและการสร้างแผนแอปพลิเคชันเป็นกิจกรรมรันไทม์ |
5 | กรณีการใช้งาน | ใช้ Static SQL ในกรณีที่ข้อมูลมีการกระจายอย่างสม่ำเสมอ | Dynamic SQL ใช้ในกรณีที่ข้อมูลมีการกระจายไม่สม่ำเสมอ |
6 | งบไดนามิก | ข้อความเช่น EXECUTE IMMEDIATE, EXECUTE, PREPARE จะไม่ถูกนำมาใช้ | มีการใช้ข้อความเช่น EXECUTE IMMEDIATE, EXECUTE, PREPARE |
7 | ความยืดหยุ่น | SQL แบบคงที่มีความยืดหยุ่นน้อยกว่า | Dynamic SQL มีความยืดหยุ่นสูง |