Mysql:视图与循环表连接
Posted
技术标签:
【中文标题】Mysql:视图与循环表连接【英文标题】:Mysql: Views VS recurrent table joins 【发布时间】:2021-04-29 14:27:23 【问题描述】:我有每分钟对数据库执行查询的 cron 作业。 在其中一些任务中,我需要在两个相对较大的表之间进行连接。
我想改用视图,但我担心性能
这两个表中的数据在数量上变化不大,但是我有一列(视图中不包含)每 40 秒更新一次
这是否意味着我的视图每 40 秒更新一次?
这种情况下的视图是个好主意吗?
【问题讨论】:
【参考方案1】:视图不会按任何节奏更新,因为它们不存储任何内容。至少在 mysql 中没有。其他一些品牌的 SQL 数据库实现了物化视图,但 MySQL 没有。
查询视图与自己运行查询完全一样。它会在您查询视图时从基表中读取,并且每次查询视图时都会这样做。
所以 MySQL 中的视图更像是一个宏。
【讨论】:
【参考方案2】:当基础表更改时,视图不会更新。视图只是针对视图进行查询时执行的查询。
使用视图时的查询性能取决于查询。您只需要检查您对视图的查询是否正确使用索引以及性能如何。
【讨论】:
以上是关于Mysql:视图与循环表连接的主要内容,如果未能解决你的问题,请参考以下文章