首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建物化视图或新表哪个更好?

创建物化视图或新表哪个更好?
EN

Stack Overflow用户
提问于 2010-05-24 23:51:19
回答 3查看 1.7K关注 0票数 2

我有一些需要 mysql查询,这些查询必须从5-7 mysql表中选择相同的频繁更新的数据集。“选择”操作将比CUD稍微多一点。

我正在考虑创建一个表或物化视图来收集来自其他表的所有需要的列,以便减少对不同表的总体查询时间(),从而提高性能。

如果创建该表,则可能需要在每次更新其他表时执行额外的insert / update / delete操作。

如果我创建了物化视图,我担心的是性能是否会得到很大的提高。因为来自其他表的数据变化非常频繁。很可能,在选择视图之前,每次都需要先创建视图。

有什么想法吗?如何缓存?我能做的其他额外措施吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-25 00:45:36

在我看来,你是按照"物化视图“概念思考的。

Mysql没有提供这方面的实现,尽管可以通过一些更多较少复杂程度来模拟它(我在Postgresql中做了一些类似于后者的操作--它可以方便地处理报表中经常使用的复杂非参数化查询,对于这些查询来说,还不能完全掌握最新的数据)。

票数 0
EN

Stack Overflow用户

发布于 2010-05-24 23:56:55

我正在考虑创建一个表或视图来收集其他表中所有需要的列,以提高性能。 很可能,在选择视图之前,每次都需要先创建视图。

视图只不过是查询。所以,无论您是查询从视图中选择还是只执行普通sql,性能都是一样的。

如何缓存

缓存是一个非常复杂和具体的问题。因此,没有灵丹妙药,为了作出决定,应该提供更多的细节。

票数 2
EN

Stack Overflow用户

发布于 2010-05-25 01:11:29

如前所述,没有提高业绩的灵丹妙药。而且,与上面所说的不同,索引对于DB性能来说并不是最重要的事情--拥有一个正确设置的数据库就是。随着数据库变得更大,DB配置可以成为性能的主宰。其中最重要的是有一个适当配置的磁盘子系统,因为大型数据库的性能总是受限于数据能够以多快的速度传输到/从磁盘。

至于你的具体问题,通过查询伪造一个物化视图可能对你有帮助,也可能没有帮助。它可能会减慢您的插入和更新性能,同时可能提高您的选择性能。在需要时按需创建“视图”将对您毫无帮助,因为您必须运行缓慢的查询才能创建它。由于MySQL不直接支持物化视图,所以标准视图对您没有任何帮助。

没有更多的细节,更好的帮助是不可能提供的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2901157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档