2012-05-12 74 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想要的。 –