【问题标题】:Mysql: Views VS recurrent table joinsMysql:视图与循环表连接
【发布时间】:2021-04-29 14:27:23
【问题描述】:

我有每分钟对数据库执行查询的 cron 作业。 在其中一些任务中,我需要在两个相对较大的表之间进行连接。

我想改用视图,但我担心性能

这两个表中的数据在数量上变化不大,但是我有一列(视图中不包含)每 40 秒更新一次

这是否意味着我的视图每 40 秒更新一次?

这种情况下的视图是个好主意吗?

【问题讨论】:

    标签: mysql performance view


    【解决方案1】:

    视图不会按任何节奏更新,因为它们不存储任何内容。至少在 MySQL 中没有。其他一些品牌的 SQL 数据库实现了物化视图,但 MySQL 没有。

    查询视图与自己运行查询完全一样。它会在您查询视图时从基表中读取,并且每次查询视图时都会这样做。

    所以 MySQL 中的视图更像是一个宏。

    【讨论】:

      【解决方案2】:

      当基础表更改时,视图不会更新。视图只是针对视图进行查询时执行的查询。

      使用视图时的查询性能取决于查询。您只需要检查您对视图的查询是否正确使用索引以及性能如何。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-05-08
        • 2013-08-26
        • 2019-08-12
        • 2012-09-03
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多