我有一個MySQL表,其中包含20百萬行和2列和像下面的結構。我應該正常化2千萬行×2列MySQL表
item_id (unsigned int[11] PK) | item_name (varchar[50]) | image_path (varchar[50])
我應該image_path
柱分離到另一個表,像
image_id | image_path
會有什麼表現收益/損失?請問加入請求比更快請求select *請求這個大型數據集上只有一個表?
我的數據庫現在只有一張桌子。如果我正常化它將是兩個。
,我的要求會像
SELECT items.item_name, images.image_path
FROM items
LEFT JOIN images on images.image_id = items.image_id
WHERE item_id = 123
和我目前使用
SELECT item_name, image_path FROM items WHERE item_id = 123
我另一個硬盤選項MySQL分區我與RANGE分區表
性能的最佳方式是什麼?
尊重,除非您向我們展示數據庫設計中的其他表格,否則您的問題沒有任何意義。請[編輯]您的問題,向我們展示您將在潛在'JOIN'操作中使用的表格。 –
您可以爲每件商品有多個圖片嗎?如果不是,那麼創建另一個表就沒有意義了。如果是,那麼你應該創建一個單獨的圖像表。此外,如果您對很多項目使用相同的圖像,那麼您應該再考慮使用單獨的表格。 – Shadow
@Shadow我每個項目只有一個圖像。你能爲你的答案提供一些資源嗎? – hakiko