2012-05-12 17 views
0

ブログポスト、ユーザー、コメントがあるシンプルなブログサイトを作成する必要があります。ブログ投稿には、ユーザーは、 をコメントし、ホームページに私は、これら3つのテーブルとJOINのクエリを実行する必要があります。私は3 MySQLのテーブルを作成しているこのデータベースとこのクエリを最適化する方法は?

:ホームページで は、ユーザーの情報をユーザのコメント以下のブログ記事が表示されます。

3つのクエリでこのJOINを回避する方法はありますか?

+0

を。最初にblogpostを取得し、そのブログポストのユーザーとコメントを取得します。 –

+1

あなたはJOINで避けようとしていることは何ですか?基本的には、JOIN(または複数のSELECT)を避けるために適切に正規化されたデータベーススキーマを使用する方法はありません。唯一の方法は、データを非正規化することです。しかし、これを行うにはコストがかかるので、あなたの推論がおそらく他の方法で助けてくれるかどうか教えてください。 –

答えて

0

この3つのテーブルのデータを表すビューを作成し、そのビューからデータを選択することができます。

here

例を参照してください:私は2つの別々のクエリにクエリを分割します

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が望んでいると思う。 –

関連する問題