我需要创建一个简单的博客网站,其中有博客帖子,用户和评论。 在主页将显示的相关博客文章及以下的用户与用户的信息评论:如何优化这个数据库和这个查询?
我已经建立3个MySQL表:博客帖子,用户评论 和网页,我需要做的这3个表连接查询。
有没有办法避免与3查询JOIN?
我需要创建一个简单的博客网站,其中有博客帖子,用户和评论。 在主页将显示的相关博客文章及以下的用户与用户的信息评论:如何优化这个数据库和这个查询?
我已经建立3个MySQL表:博客帖子,用户评论 和网页,我需要做的这3个表连接查询。
有没有办法避免与3查询JOIN?
您可以创建一个表示该3个表的数据的视图,并只需从该视图中选择数据。
参见here
实施例:
create view v as
select t1.id, t2.id as id2
from t1 inner join t2 on t1.id = t2.id;
select * from v;
这不会避免加入,它只是隐藏它。 –
是的。我认为这是OP想要的。 –
我会分裂成两个单独的查询的查询;首先获取blogpost ...然后获取用户和该博客的评论。 –
你试图通过JOIN避免什么?基本上,没有办法使用正确的规范化数据库模式来避免JOIN(或多个SELECT),唯一的方法是对数据进行非规范化。但是这样做会带来成本,所以如果你告诉我们你的理由是什么,也许这里的人可以用另一种方式提供帮助...... –