与其他DBMS相比,MySQL是否会消耗更多资源?

时间:2011-10-14 08:45:16

标签: mysql database sqlite memory-leaks resources

越来越倾向于从mysql转移到NOSQL,SQLite等。我已经阅读了许多博客和文章,比较了mysql与其他类型的DBMS的速度。但是,我相信速度不是mysql的问题,因为它真的很快;但问题与资源使用有关。由于mysql慢查询,常见的是面临极端的服务器负载。例如,Oracle相对于mysql的一个优点是减少了与内存泄漏相关的问题。

  1. 与其他数据库(如SQLite,非关系数据库,键/值数据库)相比,mysql消耗显着更多资源(CPU和内存)是否属实?通过显着我的意思是它不是为大型数据库使用mysql的主要原因(为了节省服务器成本)。

  2. 如果是(对1),可以估算一个类似系统(如SQLite)与Mysql相比更好的资源使用情况。

  3. 注意:考虑一个简单的系统,因为不需要mysql的高级功能。只是比较简单查询的性能。

2 个答案:

答案 0 :(得分:2)

如果您只使用“简单”查询,我认为在MySQL和MySQL之间的资源使用方面没有太大区别。甲骨文。 那些“专业”DBMS在缓存,预取和数据维护方面做了很多“魔术”。 当然,MySQL也会这样做,但对于真正复杂的数据库和高级查询来说,它可能效率不高。

您对DBMS的选择在很大程度上取决于您计划做什么,特别是如果您在SQL / NoSQL / Key-Value / ...之间进行选择,这些完全不同的场景......这不是内存和CPU使用率的问题。

答案 1 :(得分:1)

CPU和内存永远不是原因,因为它们很便宜。问题在于I / O速度。 NoSQL数据库用于写密集型应用程序,以及需要无架构数据库的应用程序(因为在MySQL中更改表模式涉及重写表,这可能非常慢)。因此,需要进行一些权衡以优化磁盘操作,这通常会导致消耗更多的CPU,内存或磁盘空间。

另一个原因可能是悲观与乐观的锁定。这是另一个话题。

但是,问题的回答“与其他数据库相比,mysql消耗的资源(CPU和内存)是否真实” NO ,进一步讨论它是毫无意义的:)< / p>