2012-05-12 72 views
0

我需要创建一个简单的博客网站,其中有博客帖子,用户和评论。 在主页将显示的相关博客文章及以下的用户与用户的信息评论:如何优化这个数据库和这个查询?

我已经建立3个MySQL表:博客帖子,用户评论 和网页,我需要做的这3个表连接查询。

有没有办法避免与3查询JOIN?

+0

我会分裂成两个单独的查询的查询;首先获取blogpost ...然后获取用户和该博客的评论。 –

+1

你试图通过JOIN避免什么?基本上,没有办法使用正确的规范化数据库模式来避免JOIN(或多个SELECT),唯一的方法是对数据进行非规范化。但是这样做会带来成本,所以如果你告诉我们你的理由是什么,也许这里的人可以用另一种方式提供帮助...... –

回答

0

您可以创建一个表示该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; 
+1

这不会避免加入,它只是隐藏它。 –

+0

是的。我认为这是OP想要的。 –