2009-11-14 83 views
0

我想知道如果你在哪裏有一篇文章或文章中有大量的文字,創建文章的文本數據庫結構會更好嗎?爲什麼?Mysql文本存儲?

如果有什麼優點或缺點?

我正在考慮使用下面的一種數據類型來保存MySQL數據庫的文章文本。

VARCHAR 
TEXT 
MEDIUMTEXT 
LONGTEXT 

回答

5

請看Documentation of MySQL,這些類型之間的區別有所解釋。

但是,爲了回答你的問題,VARCHAR是用戶定義的長度的領域,而文本字段有一個系統定義大小:

  • 的VarChar [1-什麼(65535最大值)
  • TINYTEXT 255(2^8 - 1)
  • 文本65535(2^16 - 1)
  • MEDIUMTEXT 16M(2^24 - 1)
  • 長文本4G(2^32 - 1)

因此,我需要一個小於255的字段時使用VarChar。

+1

自從MySQL 5.0.3以來,VARCHAR可以達到65535 – nickf 2009-11-14 22:40:13

0

VARCHAR和TEXT字段之間的一個重要區別是它們如何存儲。 VARCHAR字段存儲在其自身的行中,因此MySQL最大行大小限制爲65,535字節。 TEXT字段是分開存儲的,因此它們可能很大,但這也意味着讀取它們時需要額外的步驟,使它們變慢。

我的建議是總是對少量文本使用VARCHAR,並在需要存儲大量數據時保留TEXT。

如果確實使用TEXT字段,請確保將它們從SELECT查詢中排除,除非您需要它們,因爲這會使查詢更快。