使用 MySQL 视图有哪些限制?
mysqlmysqli database
尽管使用视图有各种好处,但使用 MySQL 视图仍存在以下限制 −
- 无法创建视图索引 − 在 MySQL 中,我们无法在视图上创建索引。这是因为当我们针对视图查询数据时不使用索引。
- MySQL 使视图无效 − 假设,如果我们删除或重命名视图引用的表,MySQL 不会发出错误,而是使视图无效。我们可以使用 CHECK TABLE 语句来检查视图是否有效。
- 在某些情况下,MySQL 视图无法更新 − 实际上,简单视图可以更新,但在使用 JOIN 或 SUBQUERY 等的复杂 SELECT 语句上创建的视图无法更新。
- MySQL 不支持物化视图 − 我们无法创建物化视图,因为 MySQL 不支持它。
- 在视图的 FROM 子句中使用子查询取决于 MySQL 版本 − 实际上,如果 MySQL 版本低于 5.7.7,我们可以在视图的 FROM 子句中使用子查询。
- 无法创建 TEMPORARY 视图 − 实际上,定义不能引用 TEMPORARY 表,因此我们无法创建临时视图。
- 无法将触发器与视图关联 − 我们无法将触发器与视图关联。