どのメソッドが高速であるか疑問に思っていますか?1つのテーブルクエリと複数のテーブルクエリパフォーマンスの結合
とします
- 最大万社の製品、各製品は、1つのユーザID、1匹の猫のID、3つの余分なフィールド、および5つのイメージを有します。
- 90-99%のユーザーが投稿するのではなく、情報のためにウェブサイトにアクセスします。
方法1:
SELECT * FROM products WHERE ...
表:製品
id | name | poster_name | cat_name | code_1 | code_2 | content |
dimensions | contact | message | images |
方法2: "結合" することなく、クエリからテーブルからすべてのデータを取得からすべてのデータを取得します「JOIN」を含む複数の表:
SELECT ... FROM products
LEFT JOIN cats ON products.cat_id = casts.id
LEFT JOIN users ON ....
表:製品
id | name | code_1 | code_2 | content | cat_id | poster_id |
テーブル:猫
id | cat_name |
表:ユーザー
id | poster_name |
表:余分
id | product_id | extra_info | extra_data |
テーブル:読み込み用の画像が
id | product_id | img_src |
ジョイントとは? – Agalo
@Agaloタイプインを置き換えるためにメモ帳を使用して、別のタイプミスを取得しました=))申し訳ありません –
クエリのパフォーマンスは、多くのことに依存し、システムによって異なる場合があります。たとえば、インデックスを定義しましたか?これらのテーブルにはいくつのレコードがありますか?ある表の問合せは、ほとんどの場合、結合よりも高速になりますが、他のものに依存します。あなたの1つのテーブルクエリが100万レコードを取得しても、結合が10だけをフェッチする場合、結合はおそらくより速くなります。明らかに、あなたの部分についての簡単なテストが最良の答えでしょう。 –