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