为什么 MySQL 服务器软件比 SQLite 更大(大小)?是什么让它这么大?不只是一些用于保存表格及其条目的网络协议和代码吗?
SQLite 与 MySQL 使用相同的语言,只有 300kb 的库,但 MySQL Server 的大小约为 600mb。
考虑到 MySQL 有 31MB 的源代码下载。PostgreSQL 有一个 16MB 的源代码下载。SQLite 有一个 1.45MB 的源代码下载 - 请至少先比较 like 和 like - 比较 300K 和 600 MB 是不公平的!
虽然 SQLite 确实可以做得更小,但也可以用 MySQL 做同样的事情——有一个嵌入式版本(我从未使用过它,所以不能说它的大小)。
MySQL 还附带了一堆实用程序(例如用于备份和检查完整性,还有更多 - 没有一个方便的运行系统来完成所有这些)。
此外,MySQL 支持一堆存储引擎——SQLite 不支持。
现在最重要的是 - MySQL 支持并发更新 - SQLite 不支持。正如 D. Richard Hipp 自己所说,“SQLite 不是为了与 Oracle 竞争而设计的。SQLite 是为了与 fopen() 竞争而设计的”。
我认为他很谦虚——他在 SQLite 方面的成就令人印象深刻——但它不是一个多用户 RDBMS。MySQL 肯定可以在 Oracle 所涉足的许多领域竞争,而 SQLite 永远无法做到这一点 - 您能想象在没有并发更新的情况下运行电信系统吗?只是我的 0.02c。
[编辑以回应@jynus 的评论]
是的,确实,这些数字非常有趣。
因为它们都是用 C/C++ 编写的,所以它的大小比较比下载的 MB 更公平。
梳理出这些“代码行”数字对应的内容会更有趣。
即有人会问为什么 SQLite 具有它在 MySQL 代码库的 1/10 上所做的广泛功能?
或者为什么 PostgreSQL 比 MySQL 更胜任 RDBMS 的 1/3 代码?
和/或 MySQL 源代码行数中包含多少客户端工具和其他各种“绒毛”?
此外,考虑到 C++ 应该比 C 每行封装更多的功能,这表明 MySQL 代码的“效率”更低(通过粗略的代码行度量)。
(顺便说一句,我们说话的时候我正在穿上阻燃服!:-))
很好的讨论话题——虽然不知道会持续多久,但更遗憾的是!
| 归档时间: |
|
| 查看次数: |
2586 次 |
| 最近记录: |