我正在考虑使用MySQL视图在从数据库中提取数据时提供抽象。当我在寻找这方面的材料时,我遇到了this article,结尾于:
MySQL还有很长的路要走 使用VIEW进行适当优化的查询。
该文章来自2007年。这仍然适用吗?例如:MySQL是否解决了这些问题?
答案 0 :(得分:1)
MySQL视图在功能上运行良好,但在大多数情况下它们表现不佳。
这是因为引入甚至非常简单的视图往往会导致优化器使用更糟糕的查询计划。这使得在一般情况下使用视图不切实际。
服务器通常会将整个视图实现为临时表,这对良好的性能没有帮助(除非它恰好只有非常少的行)。
因此,如果您认为解释计划没有视图就可以,那么视图可能会变得非常糟糕。据我所知,这在MySQL的最新开发版本中仍未解决。
您可以拥有观点,但不要期望体面(即可接受)的表现。