【发布时间】:2011-02-23 11:25:09
【问题描述】:
我有一些 要求 mysql 查询必须从 5-7 mysql 表中选择相同的经常更新的数据集。 “选择”操作会比 CUD 多一点。
我正在考虑创建一个表或物化视图来收集来自其他表的所有要求高的列,从而减少对不同表的总体查询时间,从而提高性能。
如果我创建了那个表,每次更新其他表时我可能需要执行额外的插入/更新/删除操作。
如果我创建物化视图,我担心性能是否可以大大提高。因为来自其他表的数据变化非常频繁。很可能,每次选择视图之前都需要先创建视图。
有什么想法吗?例如如何缓存?我还能采取其他额外措施吗?
【问题讨论】:
-
您是否对表格进行了适当的索引?您是否分析过哪些查询很慢?索引可能是关于性能的最重要的事情。
-
是的,我有适当的索引。但我希望性能进一步提高。您的意思是,如果我有适当的索引,则不需要使用视图/额外的专用表来组合常用列?我认为将多个查询组合在一起可以节省查询性能。我只是不确定何时使用视图,何时为此创建额外的专用表
-
架构是什么?如何访问数据?
标签: database-design mysql schema database-schema