我想知道如果你在哪裏有一篇文章或文章中有大量的文字,創建文章的文本數據庫結構會更好嗎?爲什麼?Mysql文本存儲?
如果有什麼優點或缺點?
我正在考慮使用下面的一種數據類型來保存MySQL數據庫的文章文本。
VARCHAR
TEXT
MEDIUMTEXT
LONGTEXT
我想知道如果你在哪裏有一篇文章或文章中有大量的文字,創建文章的文本數據庫結構會更好嗎?爲什麼?Mysql文本存儲?
如果有什麼優點或缺點?
我正在考慮使用下面的一種數據類型來保存MySQL數據庫的文章文本。
VARCHAR
TEXT
MEDIUMTEXT
LONGTEXT
請看Documentation of MySQL,這些類型之間的區別有所解釋。
但是,爲了回答你的問題,VARCHAR是用戶定義的長度的領域,而文本字段有一個系統定義大小:
因此,我需要一個小於255的字段時使用VarChar。
對於更長的文本塊,TEXT是一個不錯的選擇。如果您想要全文搜索功能,請務必在該字段上設置FULLTEXT的索引。這將需要一個MyISAM格式的表格。您可以在這裏閱讀更多:http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
VARCHAR和TEXT字段之間的一個重要區別是它們如何存儲。 VARCHAR字段存儲在其自身的行中,因此MySQL最大行大小限制爲65,535字節。 TEXT字段是分開存儲的,因此它們可能很大,但這也意味着讀取它們時需要額外的步驟,使它們變慢。
我的建議是總是對少量文本使用VARCHAR,並在需要存儲大量數據時保留TEXT。
如果確實使用TEXT字段,請確保將它們從SELECT查詢中排除,除非您需要它們,因爲這會使查詢更快。
自從MySQL 5.0.3以來,VARCHAR可以達到65535 – nickf 2009-11-14 22:40:13