您现在的位置是:群英 > 数据库 > MySQL数据库
MySQL视图能用索引吗,视图究竟是什么
Admin发表于 2022-05-11 15:30:262317 次浏览
关于“mysql视图有索引吗”的知识点有一些人不是很理解,对此小编给大家总结了相关内容,文中的内容简单清晰,易于学习与理解,具有一定的参考学习价值,希望能对大家有所帮助,接下来就跟随小编一起学习一下“mysql视图有索引吗”吧。



mysql中视图没有索引。视图是一张虚拟的表,并不真实的存在于数据库中,所以也就没有主键、索引,因为视图没有行和列,本质上就是语句,当调用视图时系统先执行生成视图的语句,然后在视图的基础上进行查询。

本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql视图有索引吗

视图没有索引,视图是一张虚表,并不真实存在在数据库中,所以也就没有什么主键、索引,因为根本就没有行和列,本质上就是语句,当你调用视图的时候数据库管理系统会先去找视图中封装的语句,先执行生成视图的语句,再在视图的基础上进行查询

视图中不能使用索引,也不能使用触发器(索引和触发器后面会分析)

使用可以和普通的表一起使用,编辑一条联结视图和普通表的sql语句是允许的。

关于使用视图对数据的进行更新(增删改),因为视图本身并没有数据,所以这些操作都是直接作用到普通表中的,但也并非所有的视图都可以进行更新操作,如视图中存在分组(group by)、联结、子查询、并(unoin)、聚合函数(sum/count等)、计算字段、DISTINCT等都不能对视图进行更新操作,因此我们前面的例子也是不能进行更新操作的,事实上,视图更多的是用于数据检索而更新,因此对于更新也没有必要进行过多阐述。

视图的本质

到此对于视图的创建和使用都比较清晰了,现在准备进一步认识视图的本质,前面我们反复说过,视图是一张虚拟表,是不带任何数据的,每次查询时只是从普通表中动态地获取数据并组合,只不过外表看起来像一张表罢了。其原理通过下图便一目了然:

事实上有些时候视图还会被用于限制用户对普通表的查询操作,对于这类用户只赋予对应视图的select操作权限,仅让他们只能读取特定的行或列的数据。这样我们也就不用直接使用数据库的权限设置限制行列的读取,同时也避免了权限细化的麻烦。


以上就是关于“mysql视图有索引吗”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注群英网络,小编每天都会为大家更新不同的知识。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: mysql视图索引
相关信息推荐
2021-12-22 20:32:41 
摘要:篇文章我们来了解MySQL中的锁的相关内容,关于MySQL中的锁的内容我们之前也有了解过,根据加锁的范围,MySQL里面的锁大致可以分成全局锁、表级锁和行锁这三种类型,下文就给大家来详细的介绍一下,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
2021-11-08 15:45:01 
摘要:这篇文章小编给大家分享的是oracle查询日期范围的内容,下文介绍了oracle查询日期范围的两种方式,文中示例介绍的很详细,感兴趣的朋友可以了解看看,下面让我们一起来学习一下吧!
2022-11-03 17:56:39 
摘要:mysql关闭事务的步骤:1、使用“win+r”键打开“运行”窗口,输入cmd并回车,打开cmd命令窗口;2、在cmd窗口中,执行“mysql -u root -p”命令并输入密码来登录mysql服务,进入MySQL界面;3、在MySQL命令界面中,执行“start transaction;”或者“Set autocommit = 0;”命令即可关闭事务。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部