您的当前位置:首页正文

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

2020-11-09 来源:尚佳旅游分享网
静态或嵌入式 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之间的区别介绍,希望对需要的朋友有所帮助!

显示全文