sql查询和视图查询区别,时间

用sql查询只用了1秒,把sql创建成视图加上同样的条件查询出来结果需要5秒,数据库sqlserver2012。多表查询,用了leftjoin和join。... 用sql 查询只用了1秒,把sql创建成视图加上同样的条件查询出来结果需要5秒,数据库sql server 2012。多表查询,用了left join 和join 。 展开
 我来答
床前明月儿
高能答主

2019-12-10 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171950

向TA提问 私信TA
展开全部

一、方式不同

1、sql查询:不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统

2、视图查询:视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表。

二、特点不同

1、sql查询:相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

2、视图查询:视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表。


三、功能不同

1、sql查询:对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。

2、视图查询:视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。


参考资料来源:百度百科-视图sql

参考资料来源:百度百科-结构化查询语言

匿名用户
推荐于2017-08-22
展开全部
sql查询和视图查询区别,时间
创建视图的过程需要消耗资源和时间的,创建好了再根据条件去查找,而且视图上也没有索引,自然慢了. 视图一般用来呈现按照特定规则进行显示的内容比较合适.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jadilee
2014-06-26 · TA获得超过472个赞
知道小有建树答主
回答量:475
采纳率:40%
帮助的人:199万
展开全部
创建视图的过程需要消耗资源和时间的,创建好了再根据条件去查找,而且视图上也没有索引,自然慢了. 视图一般用来呈现按照特定规则进行显示的内容比较合适.
更多追问追答
追问
有解决方案吗
追答
把视图的代码 贴进括号里面
select t.*
(select * a,b on .....) as t
where t.>

这样就行了.
你应该是 查出数据需要再赛选一下对吧.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9a842d4
2014-06-26 · TA获得超过141个赞
知道小有建树答主
回答量:77
采纳率:0%
帮助的人:84.8万
展开全部
具体的详细的,你去查视图的资料,理解视图了,你就理解了。

简单说就是,视图是一个子查询,性能肯定会比直接查询要低(尽管sql内部有优化),所以使用视图时有一个必须要注意的,就是不要嵌套使用查询。尤其是复杂查询。

那要视图有什么用?当一个查询你需要频频的作为子查询使用时,视图可以简化代码,直接调用而不是每次都去重复写这个东西,有点高级语言中的封装的意思吧。
其实视图还有很多其他的用处,比如说你是一个系统的数据库管理员,你需要给他人提供一张表的某两列数据,而不希望他可以看到其他任何数据,这样你就可以给他建一个只有这两列数据的视图,然后把视图公布给他。
常用视图的场合应该就上述两处了,至少我经常在这两种情况下使用视图,其他地方用视图的还真不多。
追问
没有解决方案吗
追答
什么解决方案?性能损失方面的解决方案?
如果是性能损失方面的解决方案,没有。
也可以说有,就是对视图的查询语句进行优化。
通常来说直接查询和查询视图是没有什么区别的(sql 本身会进行优化),除非是视图嵌套了视图,像你这样相差了这么大,我想一定是查询语句有问题(猜的)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式