码迷,mamicode.com
首页 > 其他好文 > 详细

表和视图的区别,存储过程和函数的区别?

时间:2020-01-03 12:25:48      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:manager   sql   一个   select   快捷方式   执行   空间   对象   集合   

问题1:
表是真实存在, 它占存储空间
视图相当于一个查询语句它不占有存储空间
一个浅显的比喻吧:表是可执行文件,视图是快捷方式
表是真正的存在与数据库中(也就是硬件介质上)的数据组合,而视图只是简单的把一个或多个表或其他视图联系在一起的集合,也就是说视图只是固定了你的数据查询方式,但是并没有真正把数据保存起来,每次访问视图的时候,系统会自动根据视图的规则去组织筛选数据

问题2:
本质上没区别。
只是函数:只能返回一个变量的限制。而存储过程可以返回多个。
函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。
执行的本质都一样。
函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少
1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。
2. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。
3. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。
4. 当存储过程和函数被执行的时候,SQL Manager会到PRocedure cache中去取相应的查询语句,如果在procedure cache里没有相应的查询语句,SQL Manager就会对存储过程和函数进行编译。

表和视图的区别,存储过程和函数的区别?

标签:manager   sql   一个   select   快捷方式   执行   空间   对象   集合   

原文地址:https://www.cnblogs.com/penny-happy007/p/12143865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!