在SQLite中,TEXT的最大容量是多少?

时间:2019-02-14 09:04:42

标签: c# sqlite

根据this answer,TEXT的最大容量为65535个字符(或64KB)。 但是,我只是构建了一个测试,在其中存储了从305KBytes的json文件中提取的JSON字符串到t TEXT中,没有问题

我想知道TEXT中是否有某些属性允许该操作

1 个答案:

答案 0 :(得分:0)

默认情况下,限制为10亿字节而不是字符,因此必须考虑编码。但是可以更改。

关于此的完整部分是:-

  

字符串或BLOB的最大长度

     

在SQLite中定义字符串或BLOB中的最大字节数   通过预处理程序宏SQLITE_MAX_LENGTH。这个的默认值   宏为10亿(十亿或十亿)。您可以   使用命令行选项在编译时提高或降低此值   像这样:

     
      
  • DSQLITE_MAX_LENGTH = 123456789
  •   
     

当前实现仅支持2的字符串或BLOB长度,以31-1或2147483647的幂为单位。   诸如hex()之类的内置函数在此之前可能会失败。在   对安全敏感的应用程序,最好不要尝试增加   最大字符串和Blob长度。实际上,您可能会降低   最大字符串长度和blob长度在a的范围内   如果可能的话,几百万。

     

在SQLite的INSERT和SELECT处理的一部分中,完整的   数据库中每一行的内容被编码为单个BLOB。所以   SQLITE_MAX_LENGTH参数还确定最大数量   连续字节。

     

可以使用以下命令在运行时降低最大字符串或BLOB长度   sqlite3_limit(db,SQLITE_LIMIT_LENGTH,size)接口。

Limits In SQLite