mysql 建view是否消耗性能

mysql 建view是否消耗性能,第1张

视图功能,只是把多个表,按照自已的需求,东一块西一块,逻辑拼在一起,形成一个逻辑表。

调用的时候直接 *** 作这个逻辑表视图就可以了,其它分析解释的 *** 作就交给mysql引擎去处理,最终查询还是要经原来的物理表的。

用视图是不会节省sql执行时间的,反而会增加解析时间,减少效率的。

什么是视图?

视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。

通过视图,可以展现基表(用来创建视图的表)的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。

为什么要使用视图?因为视图的诸多优点,如下:

1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。

2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。

3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

总而言之,使用视图的大部分情况是为了保障数据安全性,提高查询效率。

mysql 存储过程中建立视图的问题

定义视图,方便快捷查询

create view v_user

as

select * from table_user

定义过程,定义好业务逻辑 一次编译,反复执行,效率高,速度快

create procedure p_find_user( sname varchar)

as

begin

select pss from table_user where name =sname

end

定义触发器,方便对插入数据的整理,约束,或建议其他关联关系。

create trigger tri_table

before insert on table_name

for each row

begin

:new.id:=seq_table_name.nextval

end


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

原文地址: http://outofmemory.cn/zaji/8613342.html

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

发表评论

登录后才能评论

评论列表(0条)

保存