Android Sqlitestring的最大长度?

在提到这个问题时:

Android上的SQLite如何处理长string?

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

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

谢谢!

  • 成语来closures游标
  • 从android应用程序访问外部存储中的某个下载的.sqlite数据库
  • Android JUnit4testing - 从哪里获取上下文?
  • 无法读取第0行,第-1列
  • Android棒棒糖5.0.1 SQLiteLog POSIX错误11 SQLite错误:3850
  • 通配符在SQLite中不起作用
  • Android数据库损坏,但可以在SQLite Manager中打开。 可恢复?
  • 你如何访问Android模拟器数据库的内容?
  • 在运行时无法读取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