2009-08-04 61 views
6

有没有人在iPhone上使用东京内阁?我很想看看它和SQLite3之间是否存在真实世界的性能差异。东京内阁vs iPhone上的SQLite3

此外,SQLite 3具有SQL的表现力,东京内阁是否有任何种类的查询语言?

任何输入将不胜感激,谢谢。

回答

3

我还没有专门用于iPhone,但我已经用于各种项目。就像您指出的那样,SQLite确实提供了SQL查询语言,这意味着您在如何搜索和查找数据方面拥有更大的灵活性。假设您对SQL感到满意,您将能够轻松地筛选,关联和汇总结果。

东京内阁提供了一个不同类型的数据存储系统,因为它是一个键值存储。顾名思义,这些系统用于存储(键,值)对。存储在TC中的数据必须有一个可以引用的唯一密钥,并且只能由该密钥引用。访问TC的接口基本上是value = get(key)和set(key,value)。

从查询角度来看,访问TC大致等同于使用SQLite,只允许主键字段和另一个数据字段。

TC的主要优点是性能。如果能够做得更好,它会在很大程度上取决于工作量。一般来说,如果你需要的只是一个键值存储,那么你应该去TC,但如果你需要一个SQL查询语言,那么它就是SQLite。

+1

TC仅提供键值存储是不正确的, TC的表格数据库*确实支持简单的查询。它们相当于SELECT ... WHERE x y其中运算符可以是等于,字符串前缀,字符串后缀,字符串正则表达式,数字大于,小于数字。在http://tokyocabinet.sourceforge.net/tyrantdoc/中搜索tcrdbqryaddcond。 – mjs 2009-08-23 00:57:55

0

东京内阁许可证不允许您进行静态链接,因此它不能用于iPhone开发。

+1

LGPL不禁止静态链接。它要求你允许用户能够替换LGPL,动态链接只有一种方法来实现。您也可以释放您的应用程序源代码或目标代码。我意识到这些对于一些开发人员来说是不可接受的解决方案,但我只想说清楚。 – mikerobi 2010-09-25 19:39:32

2

BNRPersistence是在东京内阁建立的持久性对象库,我认为它是一个非常好的解决方案。在网络上,核心数据和东京内阁之间进行了比较。