我想知道下面哪種方法更快?1表查詢與連接多個表查詢性能
假設:
- 最大10,000種產品,每種產品都有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 |
什麼是JOINT? – Agalo
@Agalo我用記事本來代替輸入錯誤,然後得到另一個錯字=))抱歉 –
查詢的性能取決於很多事情,並且可能因系統而異。例如,你是否定義了任何索引?這些表中有多少條記錄?一個表上的查詢幾乎總是比連接快,但它依賴於其他事情。如果您的一個表查詢獲得了一百萬條記錄,但您的連接只取得10條記錄,則該連接可能(但不一定)會更快。很明顯,對你而言,簡單的測試就是最好的答案。 –