博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视图与暂时表
阅读量:6306 次
发布时间:2019-06-22

本文共 1047 字,大约阅读时间需要 3 分钟。

今天上午闲来无事,突然想写写视图与暂时表的作用,例如以下:

视图:

视图的定义:从一个或多个表(或视图)导出的表。

视图与表的不同之处:视图是一个虚表,即视图所相应的数据不进行实际存储。数据库仅仅存储视图的定义,对视图的数据进行操作时。系统依据视图的定义去操作与视图相关联的基本表。

上面小段事实上已经讲出了视图的本质特征。

视图主要用于系统的安全、查询和效率。在安全方面,举个样例:比如。你仅仅想让用户看到某一表的某几个字段,有些字段想不让用户看见,这是用视图解决会非常好,当然在select时也能够实现。

第在查询方面。对于比較复杂的查询,能够大大降低频繁编写sql语句的烦恼。同一时候,在效率上,数据分布在多台server上,视图一定会带来效率上的优点。

 

暂时表:

暂时表与永久表相似。但暂时表存储在 tempdb 中。当不再使用时会自己主动删除。

    暂时表有两种类型:本地和全局。

它们在名称、可见性以及可用性上有差别。本地暂时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 SQL Server 实例断开连接时被删除。全局暂时表的名称以两个数字符号 (##) 打头,创建后对不论什么用户都是可见的。当全部引用该表的用户从 SQL Server 断开连接时被删除。

比如,假设创建了 employees 表,则不论什么在数据库中有使用该表的安全权限的用户都能够使用该表,除非已将其删除。假设数据库会话创建了本地暂时表 #employees。则仅会话能够使用该表,会话断开连接后就将该表删除。

假设创建了 ##employees 全局暂时表,则数据库中的不论什么用户均可使用该表。

假设该表在您创建后没有其它用户使用。则当您断开连接时该表删除。假设您创建该表后还有一个用户在使用该表,则 SQL Server 将在您断开连接而且全部其它会话不再使用该表时将其删除。

  暂时表主要用来提高效率。

 

二者差别:

空间分配:物理空间的分配不一样。视图不分配空间。   暂时表会分配空间
虚实:视图是一条预编译的SQL语句。并不保存实际数据。而暂时表是保存在tempdb中的实际的表。即视图是一个快照,是一个虚表,而暂时表是客观存在的表类型对象。

它们的结构一个是表、一个快照。能够把视图想象成联合表的快捷方式。

 

 

本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5379541.html,如需转载请自行联系原作者 

你可能感兴趣的文章
跟我学Spring Cloud(Finchley版)-05-服务注册与服务发现-Eureka入门
查看>>
VisualStudio不让控制台程序一闪而过
查看>>
交换机配置
查看>>
python读取excel表格的数据
查看>>
折半查找
查看>>
写给创始人的期权问答及实操白皮书(连载一)
查看>>
jenkins集成sonarqube
查看>>
Sed、Awk和grep 学习笔记(一)
查看>>
row_number()over函数的使用
查看>>
viewPort(浏览器窗口的整个显示区域)
查看>>
公司Xen server虚拟化中虚拟机磁盘文件丢失的处理办法
查看>>
关于垂直对齐方式vertical-align
查看>>
特朗普:美国尚未与中国就中兴事宜达成任何协议
查看>>
Java并发编程之美
查看>>
idea快捷键使用
查看>>
静态变量初始化
查看>>
开源项目--JCIFS
查看>>
大型分布式网站架构技术总结
查看>>
Linux 常用指令
查看>>
javascript 的call()与apply()的区别
查看>>