1

我开发了一个用于通过 Internet 传输数据的高速事务服务器,因此我不需要依赖像 MySQL 这样的数据库实现来提供它。这就提出了使用哪个 SQL 版本的问题?

我真的很喜欢 SQLite,但我不相信它具有工业实力,但我喜欢的是它在资源上的轻量级。

8 年前我讨厌 MySQL,但现在它显然是工业实力,我的合作伙伴都在使用它,所以它是服务器端的明显选择。如果我使用它,我将通过“localhost”连接到已安装的服务器(Windows 服务)。我担心的是内存使用情况。

我没有将结果集加载到内存中,但我注意到第一次连接大约 6Mb。我希望后续连接不是额外的 6MB!

如果我使用 libmysqld.dll 嵌入式库,那么每个新连接是否会将嵌入式客户端/服务器代码的新实例加载到内存中?我们假设是这样,因为每个进程都有自己的进程内存......

无论如何,手册指出,当使用 libmysqld 嵌入式服务器时,在逐行检索结果时,内存优势基本上会丢失,因为“内存使用量随着检索的每一行而递增,直到调用 mysql_free_result()。” http://dev.mysql.com/doc/refman/5.1/en/mysql-use-result.html

这意味着我必须使用已安装的服务。但这和嵌入式服务器一样快吗?

还有其他低成本的高可靠性口味吗?

4

2 回答 2

3

SQLite 用于比任何其他数据库更多的应用程序。(需要引用)。

MySQL 存在一些问题,例如它不尊重外部完整性约束。

我目前是 PostgreSQL 的粉丝,它也是免费提供的(而且,我认为如果您阅读 MySQL 的许可,实际上会发现它具有更适合商业用途的许可)。它似乎比 SQLite 性能更高,这可能与它在 SMP 机器上运行并利用不同的线程有关。它似乎也很坚固。

于 2008-08-21T09:57:53.873 回答
1

很抱歉学究,但标题应该是“Which RDBMS?” - 它的措辞方式与“哪个 Java?” 一样有意义 或“哪个互联网? ”...

于 2008-08-21T10:04:16.073 回答