2011-02-23 77 views

回答

4

我會避免將圖像的實際字節存儲在數據庫中,這通常是一個壞主意(請參閱Storing Images in DB - Yea or Nay?)。相反,我會創建一個簡單的TEXT字段,用於存儲配方頁面的Markdown版本。此頁面可能包含指向圖像的圖像標籤或僅包含配方說明。

0

你可以使用的圖像數據BLOB和文本一個VARCHAR。如果您覺得如此傾向,可能是VARCHAR name字段或INT id字段的標識符/鍵。

0

您可以輕鬆地走了3場表

INT類型,自動遞增,PK的
| id | image | text | 
--------------------- 
| |  |  | 

標識,圖像可能是BLOB和TEXT VARCHAR(255)或文本,如果更長的時間。我習慣於將圖像保存爲一個路徑而不是blob(即一個VARCHAR字段),然後僅將此路徑打印到存儲相對圖像的文件夾中。它需要更少的資源和更少的工作;)

1

您可以將圖像存儲在數據庫中,但從數據庫中檢索並呈現圖像給用戶(通常並不會很好)。我建議將圖像存儲在某種NAS上,並將該圖像的位置與配方的其他數據一起存儲在數據庫中。

1

上傳圖片時,爲其創建唯一標識並將其存儲在圖像目錄中。

將唯一圖像ID存儲在具有TEXT字段的表格中: -

id | image_id |配方

該id字段應設置爲auto_increment。你可能會想要一個標題字段。

一個人口分貝看起來像: -

id | image_id   | recipe_title | recipe_body 
-------------------------------------------------------------------------------- 
1 | 218328132192.jpg | 'Boiled egg' | 'Put egg in pan and boil for 10 mins' 

的image_id可以使用哈希函數生成,甚至再次AUTO_INCREMENT。

+0

謝謝!!這很有幫助。我可以爲你投票,因爲我的聲譽很低 – abcy122

0

一般來說,在這種情況下,最好的想法(在圖像和文本分離的意義上更具可管理性)是將文本存儲在表中的一個字段中,並將圖像存儲在Damien Pirsy建議的另一個字段中。所以我只是加上我的聲音。它不僅可以更好地控制數據,還可以更好地控制數據。並以最高效的數據庫方式。

將圖像字節本身存儲在數據庫中效率不是很高,這取決於圖像的大小以及您一次檢索的數量。您必須考慮這些字段的內容是可變的並且取決於用戶的行爲,因此從性能角度來看不是非常安全的。例如。如果用戶插入1MB圖像怎麼辦?

相關問題