2016-11-13 18 views
0

我有如下表:在MySQL表中存儲大量的文本?

Name (Int), Id (Int), Description (VARCHAR) 

我的問題是,說明很可能是文本(超過100個字符)的一個段落。

我Questionsl

1)是VARCHAR合適的數據類型來存儲這種類型的數據?

2)MySQL是這個數據的理想存儲解決方案,還是我應該看看寫入文件?

N.B.我不會查詢說明,只是存儲數據。

回答

1

MySQL(截至版本5.7)在varchar列中最多支持65,535個字節。請注意,一行的長度(所有列的組合最大大小)也是65,535字節。由於它使用UTF-8,因此存儲的字符數可能會少於此限制(因爲UTF-8每個字符使用不同數量的字節)。

請注意,在數據庫中,100個字符的存儲要求並不重要。像這樣的數據庫系統可以在單行中存儲多個千字節,甚至可以將更大的數據(千兆字節及以上大小的單個值)存儲在blob列(BLOB,TEXT)中。

如果您不會查詢數據,並且數據長度可能超過65KiB,那麼您應該使用TEXT數據類型,它將大尺寸值存儲在不同的物理存儲位置,這使得數據查找有點更昂貴,並阻礙索引。