数据库中临时表与视图区别是什么

数据库中临时表与视图区别是什么,第1张

存在方式:

临时存在于 服务器内存中

视图 无存在形式

生命周期:

临时表 Sql服务关闭就消失

视图 你不删它就不会消失

用途

临时表 经常作为 中间转接层

视图 作为物理表的窗口

效率

临时表因为在缓存中,所以执行效率比较高{不知道大数据量时如何??}

视图 一般吧?如果是嵌套了别的视图效率可是最低了{希望高手再说说}

在存储过程使用时:

临时表,效率很高{可能是数据量少,再加上临时表是在缓存中,所以执行效率高}

视图 好象一般(听说2005中有索引视图,但听说它缺点不少?)

这个差距的产生并不是配置的问题,配置好的话,两种查询的速度都会提升。

造成差距的原因:

1、原表和临时表的共享 *** 作不一样。一般来说,临时表只有你一个线程在用,没有任何用户、线程和你竞争使用该临时表。而原表总是有不同的用户、不同的线程在共享使用,对查询响最大的是有大量的数据在写入或者频繁的写入,那么查询的时候就会涉及到很多事务机制(并发、锁)的问题,产生了不同类型的等待事件,所以慢。相比较临时表就没有并发,只要服务器配置好,就非常快。

2、原表和临时表的索引差异。索引对查询的影响也是很大的,不过我相信你这里不会是这个原因。

对于你说的查询 *** 作比插入 *** 作慢,是查询和插入的机制问题,涉及数据库引擎的工作原理,不好深入。简单的说,虽然插入语句好像也包含了查询,可是其并不将查询结果返回,只是在数据库中直接打包做了复制而已,所以查询结果集越大,耗时差异越明显。

2种方法

第一种,建立正式的表,此表可供你反复查询

drop table if exists a_temp;

create table a_temp as

select 表字段名称 from 表名称

第二种,建立临时表,此表可供你当次链接的 *** 作里查询

create temporary table 临时表名称

select 表字段名称 from 表名称

Access并不支持临时表,

可以建立普通表,用完之后再删除即可:

Set conn = CurrentProjectConnection

sql = "create table tableName(id integer,cname char(10))"

connExecute sql

用完之后:connExecute "drop table tableName"

以上就是关于数据库中临时表与视图区别是什么全部的内容,包括:数据库中临时表与视图区别是什么、数据库临时表问题、MySQL 如何查看当前数据库中建立的临时表,s等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9309167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存