2012-02-09 75 views
7

我爲我的網站創建了一個自定義的CMS,並且我將在一個mysql數據庫中存儲文章(文章和圖像)。哪種數據類型最適合該任務?哪種數據類型最適合在SQL數據庫中存儲文章?

+0

假設'TEXT'是最好的數據類型。 – 2012-02-09 14:45:42

+1

我不知道爲什麼要在數據庫中存儲圖像的確切原因,但我相信它將圖像保存在本機的本地驅動器上並僅存儲數據庫中的「路徑」。這對性能會有好處。如果我錯了,請忽略我。我不是CMS專家。問候 – Scorpion 2012-02-09 14:51:08

回答

5

您不應該嘗試在單個字段中存儲文本和圖像,並且在這種情況下,您可能根本不應該將圖像存儲在數據庫中。

對此的最佳解決方案是在您的文章中使用某種標記系統 - 最簡單的方法是這可以是html的過濾子集 - 將其作爲純文本存儲在數據庫中,然後在瀏覽器中進行解析某種方式。顯然,如果你使用過濾的html,你不需要編寫任何特殊的代碼來解析它,但採取這種方法確實會引發可能的安全問題。

調查的其他選項包括Markdown(本網站使用的系統)以及BBCode(主要用於在線論壇)以及其他許多選項。

總結 - 不要將圖像和文本存儲在一個字段中。存儲文本,並解釋該文本以適當地加載文章中的圖像和其他媒體。

1

將圖像保存爲VARCHAR,但只保存圖像名稱(和/或位置,取決於您的cms的大小),將文本保存爲 - TEXT

1

在我的oppinion使用文本的文章,包含HTML字符,這就是我使用的。但還有很多其他的事情需要考慮。這取決於你的文章的內容。在您的圖像中,您只需存儲圖片的路徑,除非您打算存儲圖片本身。

0

分別存儲圖像和文字。假設您試圖將二進制圖像存儲在數據庫中,我建議將圖像存儲爲文本的BLOB數據類型和TEXT。

請勿將VARCHAR用於文章文字,因爲它不會動態擴展超過您製作文章的大小。

1

請參閱此article其中Microsoft堅持text數據類型將消失,因此不應在新開發中使用。替代方法是varchar和nvarchar用於圖像的文本和varbinary。

0

VARCHAR將是存儲文本文章的最佳選擇,因爲文本和圖像數據類型將在未來消失。

對於圖像,您可以將它們存儲在類似於用於css/js的文件夾中,並將其src值存儲在數據庫中。就速度和存儲而言這將是有效的。

相關問題