Sqlite还是MySql?怎么决定?

时间:2011-01-27 07:51:11

标签: mysql database sqlite

关于如何决定使用哪两个的任何好的经验法则?

并且,如果您接管一个Sqlite数据库,并且该系统预计会“变得更大”,那么如何决定是继续使用它还是转移到MySql?

4 个答案:

答案 0 :(得分:91)

他们的功能集完全不同。 Sqlite是一个没有网络功能的嵌入式数据库(除非你添加它们)。所以你不能在网络上使用它。

如果您需要

  • 网络访问 - 例如从另一台机器访问;
  • 任何真正的并发程度 - 例如,如果您认为您可能希望一次运行多个查询,或者运行具有大量选择和一些更新的工作负载,并希望它们顺利进行等等。< / LI>
  • 大量内存使用,例如,在你的32G内存中缓冲1Tb数据库的部分内容。

您需要使用mysql或其他一些基于服务器的RDBMS。

请注意,MySQL不是唯一的选择,而且还有很多其他可能对新应用程序更好的选择(例如pgSQL)。

Sqlite是一个非常非常好的软件,但它从未声称要做RDBMS服务器所做的任何事情。它是一个在本地文件上运行SQL的小型库(使用锁定来确保多个进程不会将文件搞砸)。它经过了很好的测试,我非常喜欢它。

此外,如果您无法自己选择正确的选择,您可能需要雇佣团队成员。

答案 1 :(得分:51)

sqlite团队发表了一篇解释when to use sqlite的文章。基本上,当您有大量写入并发或需要扩展到数TB的数据时,您希望避免使用sqlite。在许多其他情况下,sqlite是一个非常好的替代“传统”数据库,如MySQL。

答案 2 :(得分:10)

SQLite开箱即用并不是关于并发性的功能。如果有数百个Web请求命中同一个SQLite数据库,您将遇到麻烦。

你绝对应该使用MySQL或PostgreSQL。

如果是单人项目,SQLite将更容易设置。

答案 3 :(得分:10)

我以前的优秀回复几分钱。 网站www.sqlite.org适用于sqlite数据库。当作者(Richard Hipp)回答类似的问题时,这是link