使用一个大视图比使用两个小视图更好(在内存和处理中)

时间:2018-12-27 04:39:05

标签: mysql query-optimization

我正在设计一个信息系统,其中大多数查询都涉及同一组表。第一个需要联接10个表(包括一些LEFT JOIN),第二个需要联接10个表(并使用聚合函数)和另外1个表。系统使用MySQL。

哪个选项对系统性能和内存使用更好?

  • 使用一个涉及11个表的视图(所有条件都在外部设置)
  • 使用一个包含10个表的视图,将外部联接用于另一个表。
  • 使用一个包含10个表的视图,并使用另一个视图将该视图与另一个表连接起来(汇总)。
  • 其他选项

1 个答案:

答案 0 :(得分:0)

MySQL中的视图尚未实现,因此视图的性能和内存占用在很大程度上取决于基础查询。话虽如此,如果您需要两个视图运行不同的(虽然也许稍微相似)查询,那么我建议只使用两个不同的视图。

关于两个视图的性能,您应该专注于基础查询。这带来了诸如索引和规范化之类的概念,它们对于确保查询的良好性能至关重要。