TSQL–临时表和表变量

TSQL–临时表和表变量

 

1. 临时表适用数据量较大的情况,因为临时表可以建立索引

2. 表变量适用于数据较小的情况,表变量只能在定义时创建约束(PRIMARY KEY/UNIQUE)从而间接建立索引

3. 临时表是事务性的,数据会随着事务回滚而回滚,表变量是非事务性的

4. 临时表和表变量都存放在内存中,当内存存在压力时才放入到硬盘

5. 临时表属于回话级别,除非显式DROP,否则会一直保持到回话结束

6. 表变量属于上下文级别,当前批处理结束后会被立即释放。

7. 临时表的创建删除会导致存储过程重编译,而在存储过程中使用表变量不会引发重编译

8. 用户定义的临时对象(临时表、全局临时表、表变量、游标)都优先存放到内存

9. 临时表和表变量在数据操作时产生的日志远远低于普通表

10.除非使用 DROP TABLE 显式删除临时表,否则临时表将在退出其作用域时由系统自动删除:   

  1)当存储过程完成时,将自动删除在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。    

 2)所有其他本地临时表在当前会话结束时都将被自动删除。    

 3)全局临时表在创建此表的会话结束且其他所有任务停止对其引用时将被自动删除。任务与表之间的关联只在单个 Transact-SQL语句的生存周期内保持。换言之,当创建全局临时表的会话结束时,最后一条引用此表的 Transact-SQL 语句完成后,将自动删除此表。

 

<span>TSQL--临时表和表变量</span>
<span>TSQL--临时表和表变量</span>

复制代码
--========================================================== --创建临时表 CREATE TABLE #T4 ( [ID] [int] NOT NULL, [STEP] [nvarchar](200) NULL, [DT] [datetime] NULL ) --========================================================== --创建临时表 DECLARE @T4 TABLE ( [ID] [int] NOT NULL, [STEP] [nvarchar](200) NULL, [DT] [datetime] NULL ) ​ --========================================================== --创建用户定义表类型,使用表类型定义变量 CREATE TYPE dbo.myTB AS TABLE ( [ID] [int] NOT NULL, [STEP] [nvarchar](200) NULL, [DT] [datetime] NULL ) DECLARE @T4 dbo.myTB
复制代码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119725.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 路由器5g启用视频网络_聚合路由器是什么

    路由器5g启用视频网络_聚合路由器是什么5G版聚合路由器加速释放超高清视频传输应用随着物联网5G商用步伐的加速和5G网络建设的突飞猛进,2022年无疑成为5G向千行百业拓展落地的关键之年。作为“新基建”的领头羊,5G已凝聚产业链力量,蓄势待发为行业的智能化和数字化转型赋能,为新一轮经济增长提速。作为5G技术在超高清视频传输领域应用的领先代表,推出了最新一代5G高速物联网QYT-X1S聚合路由器,可支持构建点对点安全传输链路,支持移动/联通/电信混用,实现多达7条2G/3G/4G/5G/卫星、有线聚合,成为5G应用落地的重点项目之一。5G要

    2022年10月4日
    0
  • pycharm的配置_pycharm怎么配置python环境变量

    pycharm的配置_pycharm怎么配置python环境变量一、Python解释器1、Python解释器计算机只能读懂0和1这样的二进制编码文件,所以需要一个东西将Python程序解释成计算机可以读懂并执行的二进制文件,这个东西就是Python解释器。在PyCharm中运行Python代码,您需要配置至少一个Python解释器。PyCharm支持以下解释器类型: 源Python解释器; 虚拟环境:(Virtualenv,Pipenv,andConda); 其他Python实现(IronP.

    2022年8月28日
    0
  • unity3d 学习笔记(一)

    unity3d 学习笔记(一)

    2021年12月1日
    35
  • mac在变化mysql-rootpassword-各种解决问题的能力

    mac在变化mysql-rootpassword-各种解决问题的能力

    2022年1月15日
    158
  • 电子元器件品牌及其代理商

    电子元器件品牌及其代理商海思(Hisilicon)在大中华区的授权分销商有:深圳市群方电子、深圳市淇诺实业、晓龙国际、威健实业、中国电子器材、深圳市智宇鹏电子等。 紫光在大中华区的授权分销商包括:Arrow,中豪,力同科技,泰发科电子,普浩国际,Mornsun,国华,厦门建益达,昱博科技,CEACSZ,WPG等。 全志科技在大中华区的授权分销商有:君行科技,蓝欣电子,易新泰科技,方糖电子等。 兆易创新(Giga…

    2022年6月29日
    83
  • 【其他记录】Office2019专业增强版与Visio2016不能共存的解决办法

    【其他记录】Office2019专业增强版与Visio2016不能共存的解决办法office2019的安装技术是即点即用,visio2016的安装技术是windowsinstaller。(我下载的是这样)本来是先安装好了office2019,接着安装visio2016,显示无法安装visio2016。原因是:即点即用和windowsinstaller的程序不能并存,一次只能安装一种类型。一种简单的解决办法是:把office2019和visio2016全部卸载干净,…

    2022年7月19日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号