【发布时间】:2014-10-22 06:18:38
【问题描述】:
我有几篇很长的文本(数万个字符)。在 SQLite 中存储此类文本的最佳选择是:作为 TEXT 还是作为 BLOB?
【问题讨论】:
我有几篇很长的文本(数万个字符)。在 SQLite 中存储此类文本的最佳选择是:作为 TEXT 还是作为 BLOB?
【问题讨论】:
在 SQLite 的 database file format 中,TEXT 和 BLOB 值的存储方式完全相同。 唯一的区别是 TEXT 值的字节被假定为有效的 UTF-8。
【讨论】:
BLOB 仅适用于二进制文件,通常将任何二进制数据(图像、歌曲等)存储在数据库中并不是一个好主意,只能作为最后的手段。
以下是 SQLite 中的数据类型列表以及 SQL 中的哪些数据类型是它们对应的:
- INTEGER – INT、INTEGER、TINYINT、SMALLINT、MEDIUMINT、BIGINT、UNSIGNED BIG INT、INT2、INT8
- TEXT – CHARACTER(20), VARCHAR(255), VARYING CHARACTER(255),NCHAR(55), NATIVE CHARACTER(70), VARCHAR(100), TEXT, CLOB
- BLOB(未指定数据类型)- 无
- REAL – 实数、双精度、双精度、浮点数
- NUMERIC – NUMERIC、DECIMAL(10,5)、BOOLEAN、DATE、DATETIME
有关 SQLite 的非常好的指南,请参阅guide。
【讨论】: