代码之家  ›  专栏  ›  技术社区  ›  luvieere

iPhone的sqlite3替代方案

  •  0
  • luvieere  · 技术社区  · 15 年前

    除了sqlite3,还有其他数据库引擎可以在iPhone上使用吗?类似的东西 textDb 适用于PHP,单文件,无服务器。

    4 回复  |  直到 11 年前
        1
  •  4
  •   bbum    15 年前

    sqlite有许多替代方法,但正如其他人指出的那样,使用它们几乎没有意义。

    在指出一些替代方案之前,有些要点:

    首先,sqlite是一个优秀的单文件、非客户机服务器、占用空间小的SQL数据库。性能非常好,运行时间相对较小,而且速度非常快。没有一个可嵌入的SQL解释替代方案,无论是在技术上优越还是在任何地方接近流行。

    其次,如果您在iPhone应用程序中进行持久化,那么您很可能正在使用coredata。当然有理由不这么做,但这很少见。除了作为一个高级映射到一个与Cocoa Touch非常巧妙地集成的关系存储之外,核心数据还解决了一些非常困难的问题,这些问题不仅存在于持久性之上,而且还存在于持久性之外;对象图管理、高效的内存使用(即,当不再需要时将数据从内存中推出),以及撤销支持等等。

    最后,如果您决定使用其他数据库持久层,请记住iPhone3G和之前的版本是 非常受内存限制的运行时环境 .任何类型的附加库的存在都会显著减少应用程序可用的工作内存。无论你选择什么解决方案, 确保优化后尽可能少地使用内存。

    所以,说真的,如果你想 使用sqlite或coredata,这可能是因为在非常罕见的情况下,它们不合适,也可能是因为您很好奇。如果好奇,那么…真为你高兴!

    如果您正在寻找替代方案,则sqlite文档包括 set of links to similar products .

    很稀疏的列表,这不是因为作者隐藏了任何东西。在这个行业里没有太多的动力去尝试重新发明这个轮子,因为 sqlite做得很好。 这是有原因的 Google, Adobe, GE, FireFox, Microsoft, Sun, REALBasic, Skype, Symbian, Apple, and others 在sqlite上有相当多的标准化来解决他们的非客户机/服务器关系持久性需求;它只是起作用。

        2
  •  1
  •   withfoam    15 年前

    如果你在寻找替代方案,我会说核心数据。 我有同样的问题很长时间了,甚至在一些项目中使用了sqlite。不过,在与一位苹果工程师交谈后,他指出核心数据可以做我使用sqlite所做的一切(主要是存储信息并以几种不同的方式访问信息)。

    我先从 Core Data Programming Guide 看看它是如何工作的。

        3
  •  0
  •   Ed Marty    15 年前

    我认为你的问题是你认为一个软件库更像一个软件产品。人们出于各种各样的原因想在网络浏览器之间做出选择。但是当你有一个软件 图书馆 它的设置基本上是为了一个目的。如果它不能很好地实现这个目标,就不应该 图书馆。

    你不喜欢 NSObject ?你不喜欢核心基金会图书馆吗?然后写你自己的。然而,要想把一个不幸的过度使用的类比拖上去,不要重新发明轮子,除非你的工作是制造新的和创新的轮子。

    数据库 性能可以接受,因此它作为iPhone平台上的库提供。sqlite可以满足我的需要。如果不是的话 工作 对你来说,也许你有什么理由想分享?

    如果你想在网络浏览器之间进行选择,自由选择是可以的,但我认为作为一个程序员,应该有一个 非常具体的原因 为了走出他们的道路,花宝贵的时间去修复一些已经有效的东西。即使我选择了Internet浏览器,我也有选择其中一个而不是另一个的具体原因。

        4
  •  -1
  •   rein    15 年前

    不,似乎每个人都对sqlite很满意。

    推荐文章