如何在Android中处理非常大量的数据?
我有一个包含250000行13位数字的数据库(最后还有一点-400000) 用户必须找到数据库中是否存在13位数字,所有这些都在他的android手机上,没有任何互联网连接。那么你有什么建议来解决这个问题呢 我考虑在Android上使用SQLITE如何在Android中处理非常大量的数据?,android,performance,sqlite,Android,Performance,Sqlite,我有一个包含250000行13位数字的数据库(最后还有一点-400000) 用户必须找到数据库中是否存在13位数字,所有这些都在他的android手机上,没有任何互联网连接。那么你有什么建议来解决这个问题呢 我考虑在Android上使用SQLITE 您有什么建议?SQLite将是设备上大型数据集的最佳存储选项。确保在可能的情况下使用正确的SQLite查询来获取所需的数据,而不是使用常规查询并在自己的代码中进行处理。这对于添加到注释中来说有点太多了,因此我将在这里添加它 4000000行整数并不是
您有什么建议?SQLite将是设备上大型数据集的最佳存储选项。确保在可能的情况下使用正确的SQLite查询来获取所需的数据,而不是使用常规查询并在自己的代码中进行处理。这对于添加到注释中来说有点太多了,因此我将在这里添加它 4000000行整数并不是那么多。假设整数将使用有符号整数的最大大小(8字节),则您的数据库将: 4000000*8/1024/1024=~30.5mb 这是一个很大的问题,但不是游戏突破 现在还假设每个数字需要8个字节。我们知道我们希望每个条目存储13位数字,因此6字节整数列就足够了:
4000000*6/1024/1024=~23mb嗨,d3cima的回答可能太迟了,但这是对其他人的帮助。我自己的领域是最好的选择 Realm的开发人员友好平台可以轻松构建反应式应用程序、实时协作功能和离线首次体验 优势:
- 比SQLite快(正常情况下比原始SQLite快10倍 (操作)
- 易于使用
- 为您处理对象转换
- 便于动态创建和存储数据
我使用了我的项目,它比Sqlite高出10倍以上。乍一看,数据库是您最好的选择。它将很小(ish),并且执行查询的速度足够快。没有internet连接显然意味着您无法更新此数据库(除非您计划在有连接时同步)。也可以在没有数据库的情况下确定数字是否符合模式。当我说“没有连接”时,我想说我不能在服务器端进行搜索,但是是的,每周数据库中都会添加2000个引用。这是一个“EAN13”数据库,所以没有任何数字模式。我想你只需要一个非常大的phone@lelloman我想我在我刚刚发布的答案中涵盖了你的担忧……这不是一个担忧,只是讽刺^ ^请注意,我删除了关于
文本
列的部分。我忽略了将每个字符的4字节乘以13。