静态和动态sql之间的区别是什么

藏色散人
藏色散人 原创
2019-01-31 14:51:10 4574浏览

静态或嵌入式 SQL是应用程序中的SQL语句,它们在运行时不会更改,因此可以硬编码到应用程序中。动态 SQL是在运行时构造的SQL语句。例如,应用程序可以允许用户输入他们自己的查询。

动态 SQL是一种编程技术,使您能够在运行时动态构建SQL语句。您可以使用动态SQL创建更多通用,灵活的应用程序,因为编译时可能不知道SQL语句的全文。

推荐参考学习:《mysql教程

下面提到的是Static 或 Embedded以及Dynamic 或 Interactive SQL 之间的基本区别

静态(嵌入式)SQL动态(交互式)SQL
在Static SQL中,嵌入式SQL语句中预先确定了如何访问数据库。在Dynamic SQL中,将在运行时确定如何访问数据库。
它更加迅速和有效。它不那么迅捷和有效。
SQL语句在编译时编译。SQL语句在运行时编译。
解析,验证,优化和应用计划的生成在编译时完成。解析,验证,优化和应用程序计划的生成在运行时完成。
它通常用于数据均匀分布的情况。它通常用于数据分布不均匀的情况。
不使用EXECUTE IMMEDIATE,EXECUTE和PREPARE语句。使用EXECUTE IMMEDIATE,EXECUTE和PREPARE语句。
它灵活性较差。它更灵活。

动态SQL的局限性:
我们不能动态地使用某些SQL语句。
与Static SQL相比,这些语句的性能很差。

静态SQL的局限性:
它们在运行时不会更改,因此会被硬编码到应用程序中。

本篇文章就是关于静态和动态sql之间的区别介绍,希望对需要的朋友有所帮助!

以上就是静态和动态sql之间的区别是什么的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。