sql2005中临时表#table和表变量@table有什么不同呀?

 我来答
百度网友624f3be
2014-03-11
知道答主
回答量:27
采纳率:0%
帮助的人:4万
展开全部
我记得以前在哪些地方看到过。

表变量和临时表是两个不同的东西,但是他们是可以用于一些共同的用途的。不过要注意一下使用的场景。
临时表
临时表有两种类型:本地表和全局表。本地临时表的名称都是以“#”为前缀,全局临时表的名称都是以“##”为前缀。临时表的访问是有可能造成物理IO的。临时表可以有索引、数据统计这些。
表变量
表变量是变量的一种,表变量也分为本地及全局的两种。表变量存放在内存中,但是并不是没有限制而是有一定限制的,如果表变量数据量超过阈值,会把内存耗尽,然后使用硬盘空间,这时再访问他就会增加了内存调入调出的机会,反而降低速度。表变量是不能有索引的。
大概就是这些,其他的记不住了。
百度网友f8fa455b2
2012-11-22 · TA获得超过189个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:203万
展开全部
一个是临时表一个是变量表至于区别就去参照定义吧。根本没有关联的东西你硬要放到一起

临时表在这个会话中存在,而变量是存在你所需要的块中 比如说包啊 过程 函数等中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-11-21
展开全部
临时表在会话中创建,会话结束的时候,数据库自动删除临时表
对于本地临时表 (#开头的) 其他会话无法访问数据与表结构
对于全局临时表 (##开头的) 其他会话可以访问数据与表结构
SQL Server会在会话结束以后,自动删除临时表。

表变量@table 生存周期短一些.
例如在一个存储过程里面定义了表变量
那么存储过程执行完了
出来应该就访问不到这个表变量了
( 这个没有手动测试过, 你可以测试一下看看, 我这个是估计的 )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f9f2af3
2012-11-21 · TA获得超过357个赞
知道小有建树答主
回答量:385
采纳率:0%
帮助的人:234万
展开全部
根本不是一个概念
你想要了解什麼啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式