我正在开发一个允许人们通过 pdf 文件上传数据的应用程序。用我的应用程序阅读 pdf 后,我还喜欢将 pdf 中从第一页到最后一页的所有字符存储起来。
我担心一个 pdf 文件可能高达 80mb,其中可能包含超过 10 亿个字符。mysql可以处理这么多的字符吗?
我正在开发一个允许人们通过 pdf 文件上传数据的应用程序。用我的应用程序阅读 pdf 后,我还喜欢将 pdf 中从第一页到最后一页的所有字符存储起来。
我担心一个 pdf 文件可能高达 80mb,其中可能包含超过 10 亿个字符。mysql可以处理这么多的字符吗?
MySQL 数据存储要求可以在这里找到:MySQL5 存储要求
在那里我找到了这张表(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
检查此链接:http ://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html
TINYTEXT 256 bytes
TEXT 65,535 bytes ~64kb
MEDIUMTEXT 16,777,215 bytes ~16MB
LONGTEXT 4,294,967,295 bytes ~4GB