2013-10-27 26 views
-1

我正在研究一個允許人們通過pdf文件上傳數據的應用程序。在用我的應用程序閱讀PDF後,我還希望將第一頁到最後一頁中的所有字符存儲在pdf中。什麼是mysql文本類型的最大限制

我的恐懼是一個pdf文件可能高達80MB,可以包含超過10億字符。 MySQL可以處理如此大量的字符嗎?

+0

這已經問過:http://stackoverflow.com/questions/6766781/maximum-length -for-mysql-type-text –

+3

僅僅因爲MySQL *可以*存儲數據並不意味着它*應該*。爲什麼不將文件存儲在高度優化的文件存儲數據庫,文件系統中? *將*關聯到相關的MySQL記錄(一個*關係*數據庫管理系統)並在該文件存儲數據庫(即文件的路徑)中輸入合適的密鑰。 – eggyal

+0

Eggyal有非常有效的點 – Jeroen

回答

1

MySQL的數據存儲需求可以在這裏找到:MySQL5 storage requirements

在那裏,我發現這個表(L =字符串的長度):

TINYBLOB, TINYTEXT   L + 1 bytes, where L < 2^8 = 256b 
BLOB, TEXT     L + 2 bytes, where L < 2^16 = 65.536 = 65kb 
MEDIUMBLOB, MEDIUMTEXT  L + 3 bytes, where L < 2^24 = 16.777.216 = 16mb 
LONGBLOB, LONGTEXT   L + 4 bytes, where L < 2^32 = 4.294.967.296 = 4.3gb 

所以對於80Mb的頁面,你需要一個LONGTEXT。對於PDF,我會建議一個LONGBLOB類型,因爲這是二進制格式。

備案:Eggyal有一個觀點,最好不要將此PDF存儲在數據庫中,而是存儲在磁盤上。所以我會建議不要通過數據庫,如果你真的需要把它放在MySQL中使用一個LONGBLOB

+0

不錯。現在我更好地理解這是如何計算的 – Uchenna

相關問題