首页 > 编程知识 正文

mysql视图可以创建索引吗,mysql存储过程参数

时间:2023-05-05 09:06:07 阅读:165461 作者:618

1 .介绍

在传统的关系数据库中,视图也称为虚拟表,是基于特定SQL结果集的虚拟数据表。 在某些情况下会很方便。 例如,旧系统的重建,旧数据表a和b已经分割并集成到数据表c、d、f中。 为了实现平稳迁移,为了不影响对外数据业务,可以分别创建与原始数据表a和b匹配的视图g和h,实现数据层升级,不影响现有业务。

2 .创建

用于创建MySQL视图的语法如下

创建

[ algorithm=[ undefined|merge ] [ definer=用户名]

[ SQL security [ definer|invoker ] ] view `视图名称` AS查询SQL [ with [ cascaded|local ]检查选项]

参数说明

ALGORITHM视图采用哪个算法,根据算法的不同性能可能会有很大的不同,UNDEFINED由MySQL自身决定采用哪个算法

DEFINER指定创建视图的用户

有关SQL SECURITY权限的定义,可以选择DEFINER和INVOKER。 如果设置为DEFINER,则在使用此视图时,上一个DEFINER必须具有相应的权限;如果设置为INVOKER,则当前调用者必须具有相应的权限

WITH CHECK OPTION设置视图的数据完整性检查。 否则,即使添加或删除该视图中的数据,也不会检查任何内容。 如果设置为CASCADED,则必须满足为该视图及其关联的所有视图(视图嵌套)定义的条件,才能添加或删除数据。 例如,如果视图查询SQL为WHERE id 5,则不能添加或删除超出条件的数据。 如果设置为LOCAL,则为当前视图

3 .使用

使用方法与普通的MySQL表一致,相关的特性也受对应的实表的存储引擎的影响。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。