0

复杂查询是指您必须使用至少 2 个连接的查询。假设我已经构建了数据库的模式/模型。现在,只要我有,我就users.user_id = 5要求logins.lastlogin,groups.groupnamehistory.user_weight. 我不会编写任何连接 SQL 语句,所有这些语句都将在后台通过数据库的模式/模型进行连接。MySQL可以吗?

4

2 回答 2

2

如果你不喜欢 Views 的想法——顺便说一句,这是理想的——你总是可以模仿Branko 提到的Oracle 物化视图,方法是:

在要加入的每个表上创建和触发器INSERT、、和; 这将更新一个名为(example)的新的第 5 个表DELETEUPDATEusersloginsgroupshistorylgh

因此,您将这个新lgh表用于上面想要的查询。与实际视图相比,它可能会减少扫描的行数,但现在每次原始 4 个表中的任何一个表中的数据更改时都会产生开销。根据您使用这个新 lgh 表与更新其他 4 个表的频率,您可能会看到一些性能改进。

免责声明:

  • 我不宽恕这种解决方法,这只是针对您的问题的替代建议。
  • 您应该真正考虑为原始 4 个表添加更多索引,甚至可能为您在该连接查询中使用的每一列添加更多索引。
  • 这可能类似于“缓存”……不完全是。
于 2012-08-30T11:53:29.857 回答
1

是的,有可能views

http://dev.mysql.com/doc/refman/5.5/en/views.html

于 2012-08-30T07:31:06.440 回答