我开发了一种高速事务服务器,用于通过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
这意味着我必须使用已安装的服务。但这和嵌入式服务器一样快吗?
还有其他低成本口味的高可靠性吗?
答案 0 :(得分:3)
SQLite用于比其他任何数据库更多的应用程序。 (需要引证)。
MySQL存在一些问题,例如它不尊重外部完整性约束。
我目前是PostgreSQL的粉丝,它也是免费提供的(而且,我认为如果您阅读MySQL的许可证,实际上可以获得更适合商业用途的许可证)。它似乎比SQLite更高的性能,它可能更多地与它在SMP机器上运行,并用于不同的线程。它似乎也很稳固。
答案 1 :(得分:1)
很抱歉迂腐,但标题应该是“哪个RDBMS?” - 它的措辞方式与“哪个Java?”一样有意义。或“Which Internet?”......