Android Sqlite String的最大长度?

Jus*_*ner 11 sqlite android max

参考这个问题:

Android上的SQLite如何处理长字符串?

它说默认的SQLite存储量为10亿.这与实际站点相同.

然而,正如该人所说,它可能会更少.我想知道他们是否有办法检查这个值是多少?

谢谢!

Tri*_*ode 8

字符串或BLOB的最大长度

字符串中的最大字节数或SQLite中的BLOB由预处理器宏SQLITE_MAX_LENGTH定义.此宏的默认值为10亿(十亿或1,000,000,000).您可以使用命令行选项在编译时提高或降低此值,如下所示:

-DSQLITE_MAX_LENGTH=123456789 
Run Code Online (Sandbox Code Playgroud)

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

在SQLite的INSERT和SELECT处理过程中,数据库中每行的完整内容被编码为单个BLOB.因此,SQLITE_MAX_LENGTH参数还确定一行中的最大字节数.

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


CL.*_*CL. 5

在运行时无法在Android中读取SQLite限制.(SQLite 在其C API中具有此功能,但Android不公开此功能.)

在任何情况下,我都不知道任何Android供应商已经减少了SQLite的任何限制.(通常,当他们在自己的应用程序中需要它们或者当他们尝试优化时,它们会增加一些限制或启用某些选项,但他们从不打扰改变其他内容.)