我有一些cron作业,每分钟都会在数据库上执行查询。在其中一些任务中,我需要在两个相对较大的表之间建立连接。
我想使用视图代替,但我担心性能
这两个表中的数据在数量上变化不大,但我有一列(不包括在视图中)每40秒更新一次
这是否意味着我的视图每40秒更新一次?
这种情况下的视图是个好主意吗?
发布于 2021-04-29 23:00:46
视图不会以任何节奏更新,因为它们不存储任何内容。至少在MySQL中不是。其他一些品牌的SQL数据库实现了物化视图,但MySQL没有。
查询视图与自己运行查询完全一样。它在您查询视图时从基表中读取,并且在您每次查询视图时都会这样做。
因此,MySQL中的视图更像是宏。
发布于 2021-04-29 23:00:54
当基础表发生更改时,视图不会更新。视图只是在对视图进行查询时执行的查询。
使用视图时的查询性能取决于查询。您只需要检查针对视图的查询是否正确地使用了索引,以及性能如何。
https://stackoverflow.com/questions/67319378
复制相似问题