Android Sqlitestring的最大长度?

在提到这个问题时:

Android上的SQLite如何处理长string?

它说默认的SQLite存储在10亿。 这与实际的网站相同。

但是,正如这个人所说的那样,可能会less一些。 我想知道如果他们是一种方法来检查/这是什么价值?

谢谢!

Solutions Collecting From Web of "Android Sqlitestring的最大长度?"

在运行时无法读取Android中的SQLite限制。 (SQLite在它的C API中有这个function ,但是Android不公开这个。)

无论如何,我不知道任何已经减less了SQLite限制的Android厂商。 (通常,当他们在自己的应用程序中需要它时,或者当他们尝试优化时,他们会增加一些限制或启用某些选项,但是他们从不打算改变别的东西。)

string或BLOB的最大长度

SQLite中的string或BLOB中的最大字节数由预处理器macrosSQLITE_MAX_LENGTH定义。 这个macros的默认值是10亿(1亿或10亿)。 您可以在编译时使用如下命令行选项来提高或降低此值:

-DSQLITE_MAX_LENGTH=123456789 

当前的实现将只支持一个string或BLOB长度高达231-1或2147483647.一些内置的函数,如hex()可能会在这之前失败。 在安全敏感的应用程序中,最好不要尝试增加最大string和blob长度。 事实上,如果可能的话,最好将string和blob的最大长度降低到几百万的范围内。

在部分SQLite的INSERT和SELECT处理过程中,数据库中每一行的完整内容都被编码为一个BLOB。 所以SQLITE_MAX_LENGTH参数也决定了一行中的最大字节数。

http://www.sqlite.org/limits.html