社区
应用实例
帖子详情
视图快还是表快?
xiaosongaspnet
2011-04-23 12:21:04
有个视图tableAview
内容
Select * From tableA
Select * from tableAview 快 还是 select * from tableA 快?
tableA 我建了几个索引,数据量大概是10000000(1千万)? 希望高手指点
...全文
699
12
打赏
收藏
视图快还是表快?
有个视图tableAview 内容 Select * From tableA Select * from tableAview 快 还是 select * from tableA 快? tableA 我建了几个索引,数据量大概是10000000(1千万)? 希望高手指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
napier
2011-04-24
打赏
举报
回复
如果是从一个表来获取数据,那么直接从表中来获取,视图的优势在于多表操作。
水向东流时光怎么偷
2011-04-24
打赏
举报
回复
xiaosongaspnet
2011-04-23
打赏
举报
回复
Select * From tableAview A
inner join Table C on A.type = C.Type
Select * From tableA A
inner join Table C on A.type = C.Type
Type 是索引,有索引不是快了吗? 感觉视图的索引没有效果了,是不是这样?
dearbinge
2011-04-23
打赏
举报
回复
视图会减少解析SQL语句的时间.
crazy_boom
2011-04-23
打赏
举报
回复
如果仅从但表中取数据 就是直接从表中读取了。
视图的优点与缺点
在程序设计的时候必须先了解视图的优缺点,这样可以扬长避短,视图具有如下的一些优点:
● 简单性。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使用户不必为以后的操作每次都指定全部的条件。
● 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上。
● 逻辑数据独立性。视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
视图也存在一些缺点,主要如下。
● 性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也把它变成一个复杂的结合体,需要花费一定的时间。
● 修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。
所以,在定义数据库对象时,不能不加选择地来定义视图,应该权衡视图的优点和缺点,合理地定义视图。
serapn123
2011-04-23
打赏
举报
回复
感觉因该是看数据量吧,SQL会把表数据创建成视图,然后从视图中查询。
表创建为视图会造成额外开销。
数据量不大的时候是差不多,中等的表会快一些,大量的话,我觉得还是用视图。
其实你可以用SQL自带的工具来计算查询使用的时间来决定用哪一个。
以上只是我的一点浅显认知,仅仅做参考,如有错误,谢谢指出。
--小F--
2011-04-23
打赏
举报
回复
索引就够了 视图会带来开销
Shawn
2011-04-23
打赏
举报
回复
[Quote=引用 1 楼 dearbinge 的回复:]
视图会减少解析SQL语句的时间.
[/Quote]
select * from 视图 也需要时间呃,呵呵
直接用表吧,没有必要用视图的地方,就不用视图好了。
gw6328
2011-04-23
打赏
举报
回复
表应该要快些吧。视图也要访问表
xiaosongaspnet
2011-04-23
打赏
举报
回复
没人回答 就结贴了
xiaosongaspnet
2011-04-23
打赏
举报
回复
星期六加班 各位大哥求助下
Bootstrap与Vue
快
速上手教程
本系列课程以Bootstrap官方资料为基础,全面透彻解析了Bootstrap的各个方面的知识;通过专业化的分析转化,把晦涩难懂的理论转化为简单的语言和直观的实例,让大家在边看边学边练中掌握Bootstrap的使用。Vue.js(读音 /vju?/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注
视图
层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的
视图
组件。
sql中用临时
表
或 创建
视图
那个效率比较
快
!
经常访问的话当然是创建
视图
好 临时
表
是用一次建立一次 肯定要慢些的 1,存在方式: 临时存在于 服务器内存中
视图
无存在形式 2, 生命周期: 临时
表
Sql服务关闭就消失
视图
你不删它就不会消失 3,用途 临时
表
经常作为 中间转接层
视图
作为物理
表
的窗口 4,效率 临时
表
因为在缓存中,所以执行效率比较高
视图
效率一般,但是节省I/O操作,节约资源 5,在存储过程使用时: ...
数据库中的
视图
和临时
表
对比
1
视图
1.1 什么是
视图
?
视图
是一种虚拟的
表
,具有和物理
表
相同的功能。可以对
视图
进行增,改,查,操作,
视图
通常是有一个
表
或者多个
表
的行或列的子集。对
视图
的修改不影响基本
表
。相比多
表
查询,它使得我们获取数据更容易和
快
捷。 1.2 使用
视图
的优点:
视图
隐藏了底层的
表
结构,简化了数据访问操作,提升了访问效率,因为
视图
是用hash
表
存储的,相当于直接查询,大大减少了I/O次数,所以比join 拼接各种
表
快
因为隐藏了底层的
表
结构,所以大大加强了安全性,用户只能看到
视图
提供的数据, 使用
视图
,方便了权限管理
视图
和临时
表
的区别
视图
(view)是在基本
表
之上建立的
表
,本质是一条预编译的sql愈合,是为了满足某种查询要求而建立的一个对象。它可以不给用户接触数据
表
,从而不知道
表
结构。它的结构(即所定义的列)和内容(即所有数据行)都来自基本
表
,它依据基本
表
存在而存在。一个
视图
可以对应一个基本
表
,也可以对应多个基本
表
。
视图
是基本
表
的抽象和在逻辑意义上建立的新关系. ...
什么是
视图
?普通
视图
和物化
视图
什么区别?看这一篇就明白了
视图
可以理解为一张
表
或多张
表
的预计算,这些
表
称为基
表
。它可以将所需要查询的结果封装成一张虚拟
表
,基于它创建时指定的查询语句返回的结果集。
视图
具有以下特点: 例如: 物化
视图
对于普通
视图
而言,其真实数据在基
表
中,即每次查询
视图
都是需要执行查询语句。有时候为了防止每次都查询,将结果集存储起来,这种有真实数据的
视图
,称为物化
视图
。什么情况下适合用物化
视图
?基
表
没有很多 DML,且每次查询都需要耗费较大资源的情况下,可以考虑用物化
视图
。物化
视图
的创建是这样的: ① BUILD IMMEDIATE 创建物化
视图
的时
应用实例
27,580
社区成员
68,556
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章