Code前端首页关于Code前端联系我们

MySQL 入门教程:视图的实现和限制

terry 2年前 (2023-09-26) 阅读数 45 #数据库

在本教程中,您将了解 MySQL 视图,我们将解释和演示 MySQL 如何实现视图。

MySQL 5.x及更高版本支持数据库视图。在MySQL中,几乎所有视图函数都符合SQL:2003标准。 MySQL 通过两种方式处理对视图的查询:

  • 第一种方式 MySQL 根据视图定义语句创建临时表,并在该临时表上执行传入的查询。
  • 第二种方式:MySQL将传入查询和查询定义为一个查询,并执行组合查询。

MySQL支持版本系统视图。每次更改或替换视图时,都会将视图的副本备份到位于特定数据库文件夹中的 arc(存档)文件夹。备份文件的名称为view_name.frm-00001。如果再次更改视图,MySQL 将创建一个名为 view_name.frm-00002 的新备份文件。

MySQL 允许从其他视图创建视图。您可以在视图定义的 SELECT 语句中引用另一个视图。

MySQL 视图的限制

您无法在视图上创建索引。当使用合并算法使用视图查询数据时,MySQL 使用基础表中的索引。对于使用诱饵算法的视图,当您请求视图数据时不会使用索引。

MySQL 5.7.7之前的版本中,您无法在SELECT语句的FROM子句中使用子查询定义视图。

如果视图所基于的表被删除或重命名,MySQL 不会抛出错误。然而,MySQL 使该视图无效。您可以使用语句CHECK TABLE来检查视图是否有效。

一个简单的视图就可以更新表中的数据。无法更新通过具有联接、子查询等的复杂 SELECT 语句创建的视图。

MySQL 不支持像 Oracle、PostgreSQL 等数据库系统那样的物理视图。 MySQL 不支持物理视图。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门