2012-06-24 40 views
1

我想爲網站管理員製作一個簡單的通知/新聞系統。短消息/通知MySQL類型

什麼是最好的解決方案,將這些消息(最多250個字符)存儲在數據庫中?

VARCHAR(255)或TEXT?

感謝

+0

[MySQL TEXT or VARCHAR]的可能重複(http://stackoverflow.com/questions/4128626/mysql-text-or-varchar) –

回答

1

如果它們要簡短,請定義一個硬性上限並使用VARCHAR()。如果你認爲他們不會超過250個字符,請將尺寸VARCHAR(512)給予自己足夠的空間,以便在發現時刻改變主意。 (無論如何你總是可以改變列的定義)。

TEXTBLOB類型實際上是用於未知/未定/無限長度的數據。如果您在定義限制時沒有問題,請定義一個並使用VARCHAR()。您將從VARCHAR()中獲得更多的排序和索引靈活性,因爲TEXT最多隻能使用max_sort_length字節進行排序。

如果您的用例很重要,則不能將默認值分配給TEXT列。

其中大部分內容詳見MySQL documentation on BLOB & TEXT types

1

如果文本/消息絕不會超過250個字符,使用VARCHAR2(255)是更明智。但是如果在以後的日期/時間,你可能會增加它,你可以稍後再做。 :)