【问题标题】:How many database entries can I have before my application begins to become too slow?在我的应用程序开始变得太慢之前,我可以拥有多少个数据库条目?
【发布时间】:2013-03-03 23:35:40
【问题描述】:

我有一个关于移动应用程序数据库的问题:我想开发一个应用程序,它将是一个法语-库尔德语词典。我的想法是用法语单词和库尔德语翻译填充我的数据库(一个简单的想法不是吗?)。但它是一个移动应用程序,我对数据库没有任何经验,所以我的问题是:数据库的限制是什么?当我说限制时,我指的是数据库的大小,因为应用程序的目标是快速。

对于我的申请,我至少有 1000 个条目:这是否太多,或者是否合理?

【问题讨论】:

标签: android database search dictionary


【解决方案1】:

就 SQLite 可以处理的内容而言,1000 个条目非常好。

这是关于 SQLite 限制的a discussion

表中的理论最大行数为 2^64(18446744073709551616 或大约 1.8e+19)。由于将首先达到 140 TB 的最大数据库大小,因此无法达到此限制。一个 140 TB 的数据库最多可以容纳大约 1e+13 行,并且只有在没有索引且每行包含非常少数据的情况下。

就您的数据库的大小和速度而言,我认为您也无需担心 1k 条目。如果您的查询速度成为问题,那么值得研究优化,但我认为您不需要给出问题陈述。

【讨论】:

    【解决方案2】:

    对于之前的答案,我认为OP不是在问他可以存储多少个数据库条目的理论限制,而是在搜索特定单词之前,他可以存储多少个数据库条目变得很慢,因为在要搜索的大量数据库条目中,为此,请阅读 sqlite 数据库的搜索技术:Best way to search sqlite database 和 sqlite 数据库缓存和优化:http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html

    【讨论】:

    • 感谢您的回答。我对我的应用程序数据库的限制有些怀疑,但有了你的回答,我很好。更准确地说,不是同一张表有 1000 个条目,而是数字 1000 对应于所有表的条目总和。
    • 我知道这一点,但您的问题是什么,表/条目的理论限制?还是速度? (只是为了澄清)
    • 为了澄清情况,我的问题是关于条目的理论限制,但对我来说(也许我错了)数据库大小之间存在联系(大小在这里表示条目数)和速度。
    • 拥有更多数据库通常不会使您的应用程序变慢(但它会使它变大),但是当您“搜索数据库”时(我认为这是您的应用程序的主要功能,因为人们会翻译,并且您的应用程序将在数据库中搜索输入的单词,以及其他语言的相应条目),随着数据库条目的增加,搜索将变慢。您应该实施分析并查看哪些词被翻译得最多,然后缓存这些词,或者查看我发布的一些关于数据库优化和搜索优化的链接。
    • 感谢您提供这些精确度。他们帮了我很多:)
    猜你喜欢
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    • 1970-01-01
    • 2014-01-16
    • 2016-10-23
    • 2020-03-06
    相关资源
    最近更新 更多