在工作中我经常被告知,当对MySQL数据库进行更改时,需要“刷新”视图。接受的手动解决方案似乎将进入Workbench,右键单击并点击“全部刷新”
这只是为了清除缓存吗?或者这是从头开始重建视图,还是这完全是假的?他们似乎能够判断什么时候没有“刷新”观点,而且我不确定他们是否理解它,“因为当它们被改变时需要刷新它们。”
如果它只是清除缓存,那么“刷读”是否足够?
答案 0 :(得分:20)
数据更改时,无需刷新视图。当您查询它们时,它们将获取最新数据。
如果表结构发生更改,则可能需要重新创建它们:
视图定义在创建时“冻结”,因此之后对基础表的更改不会影响视图定义。例如,如果视图在表上定义为SELECT *,则稍后添加到表中的新列不会成为视图的一部分。
答案 1 :(得分:1)
我正在一个项目上,并且我的视图没有显示新数据,因为我试图在 NULL 上进行 join 字段到另一个表。因此,我仅使用该字段的正确值更新了新数据,它就起作用了。