首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Sqlite字符串的最大长度?

问Android Sqlite字符串的最大长度?
EN

Stack Overflow用户
提问于 2013-04-19 12:07:03
回答 2查看 20.5K关注 0票数 14

就这条问题而言:

How SQLite on Android handles long strings?

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

然而,正如该人士所说,它可能会更少。我想知道这是不是一种检查/这个值是什么的方法?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-20 02:55:48

在安卓系统中,无法在运行时读取SQLite限制。(SQLite在其C应用程序接口中有a function for this,但安卓没有公开这一点。)

无论如何,我不知道有任何Android供应商降低了SQLite的任何限制。(通常,当他们在自己的应用程序中需要时,或者当他们试图优化时,他们会增加一些限制或启用一些选项,但他们从来不会费心去改变其他东西。)

票数 5
EN

Stack Overflow用户

发布于 2013-04-19 12:13:00

字符串或BLOB的最大长度

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

-DSQLITE_MAX_LENGTH=123456789

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

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

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

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16097015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档