MySQL 经常重新创建视图的性能

Posted

技术标签:

【中文标题】MySQL 经常重新创建视图的性能【英文标题】:MySQL Performance of recreating a view often 【发布时间】:2017-02-02 10:50:08 【问题描述】:

我目前正在参与一个小型项目,该项目必须每 30 分钟创建一次报告。报表的 SQL 必须作为视图存储在 mysql 数据库中,当前视图将在应用程序通过其运行的服务器的更新进程更新时进行更新。但是,仅对于代码更改,不需要运行此更新过程。由于 SQL 经常更改,并且更新过程有点麻烦,我想知道这是否会是一个性能问题,如果在创建报告之前每次都简单地重新创建视图,那么每 30 分钟一次? (不能直接执行SQL。)这种方式只需要部署新代码,而不需要运行server-update-process。由于它不是物化视图,而只是对某些文本的一种更新操作,我猜数据库不应该为此需要太多性能。

有人有这方面的经验吗?

【问题讨论】:

嗯?!?你的问题比较不清楚。您能否编辑并更好地说明您的流程是什么、您正在尝试做什么、其目的 - 但保留可能保密的细节。您的问题很混乱,无法充分理解。 【参考方案1】:

MySQL 没有“物化视图”。当您从视图中SELECT 时,它会动态执行底层的SELECT

如果您要修改VIEW定义,那听起来是错误的。如果您需要向视图“传递参数”,请考虑使用存储过程。您可以传递参数并动态构建查询。

请提供更多细节。

【讨论】:

以上是关于MySQL 经常重新创建视图的性能的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中级篇

这是在mysql中的同一个表上创建多个视图的好习惯(性能方面)吗

MySQL 数据库视图:视图定义创建视图修改视图

在 Mysql 中自动创建视图

sql删除视图后创建视图

mysql-视图及索引简介