如何深入理解SQL语句、存储过程与ORM的内在联系及合理选择?

2026-05-27 05:380阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1292个文字,预计阅读时间需要6分钟。

如何深入理解SQL语句、存储过程与ORM的内在联系及合理选择?

SQL语句又称Ad Hoc SQL,Ad Hoc是拉丁语,意思是for this,可翻译为按每一次情况的处理。存储过程简写为SP,ORM则是对象-关系映射,例如Hibernate。多数.NET程序都会涉及这些技术。

sql语句又叫ad hoc sql, ad hoc是拉丁语,意思是for this,可以翻译为“按每一次情况的办理”
存储过程就是stored procedure, 简写为sp
ORM就是对象-关系映射,比如Hibernate

大多数的.NET程序都是会围绕sql服务器展开,经常要面临在这些技术间进行选择。所以我们需要来理解这些技术的本质。

一,演变
刚开始的时候,只有sql语句,即可以用交互模式一句一句执行, 也可以用批模式执行,多行sql语句一次提交执行。
很快人们发现用批模式执行的一堆sql语言可以用过程的形式,事先存放到数据库里面,这就变成了存储过程。
随着面向对象技术的成熟,从程序中可以自动生成sql语句,这就是ORM


二,性能
很多人会说存储过程比sql语句性能好,其实这个说法并不精确。
如果我们把一堆sql,以批的方式一次送入到服务器,那么服务器,会对这一堆sql进行缓存,当下一次再度执行的时候,就好像调用一个”匿名“的存储过程一样。
在这种情况下,性能差不多。
但是,如果我们不注意,很有可能,把可以一次提交的sql,变成了多次提交,甚至是每个循环做了一次提交,那么性能就很差了。
也就是说如果使用sql,只要写法得当,性能和sp区别不大。
阅读全文

本文共计1292个文字,预计阅读时间需要6分钟。

如何深入理解SQL语句、存储过程与ORM的内在联系及合理选择?

SQL语句又称Ad Hoc SQL,Ad Hoc是拉丁语,意思是for this,可翻译为按每一次情况的处理。存储过程简写为SP,ORM则是对象-关系映射,例如Hibernate。多数.NET程序都会涉及这些技术。

sql语句又叫ad hoc sql, ad hoc是拉丁语,意思是for this,可以翻译为“按每一次情况的办理”
存储过程就是stored procedure, 简写为sp
ORM就是对象-关系映射,比如Hibernate

大多数的.NET程序都是会围绕sql服务器展开,经常要面临在这些技术间进行选择。所以我们需要来理解这些技术的本质。

一,演变
刚开始的时候,只有sql语句,即可以用交互模式一句一句执行, 也可以用批模式执行,多行sql语句一次提交执行。
很快人们发现用批模式执行的一堆sql语言可以用过程的形式,事先存放到数据库里面,这就变成了存储过程。
随着面向对象技术的成熟,从程序中可以自动生成sql语句,这就是ORM


二,性能
很多人会说存储过程比sql语句性能好,其实这个说法并不精确。
如果我们把一堆sql,以批的方式一次送入到服务器,那么服务器,会对这一堆sql进行缓存,当下一次再度执行的时候,就好像调用一个”匿名“的存储过程一样。
在这种情况下,性能差不多。
但是,如果我们不注意,很有可能,把可以一次提交的sql,变成了多次提交,甚至是每个循环做了一次提交,那么性能就很差了。
也就是说如果使用sql,只要写法得当,性能和sp区别不大。
阅读全文