当前位置: 首页 > 面试题库 >

适用于Web应用程序的MySQL与PostgreSQL [关闭]

景承教
2023-03-14
问题内容

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。

7年前关闭。

我正在使用Python(Django)开发Web应用程序,并且想知道在进行生产部署时MySQL还是PostgreSQL更合适。

乔尔(Joel)在一个播客中说,他在MySQL上遇到了一些问题,并且数据不一致。

我想知道有人是否有这样的问题。此外,在性能方面可以轻松调整的内容吗?


问题答案:

致将来的读者注意:
以下文本的最后编辑时间为2008年8月。截止本次编辑将近11年前。软件的版本可能会迅速变化,因此,在根据以下建议选择DBMS之前,请进行一些研究以查看其是否仍然正确。在下面检查新的答案。

更好?

Web主机通常提供MySQL。

PostgreSQL是更成熟的产品。

有此讨论解决您的“更好”的问题

显然,根据此网页,当并发访问级别低且读取多于写入时,MySQL速度很快。另一方面,随着负载和写入/读取比的增加,它的可伸缩性较低。PostgreSQL在低并发级别时相对较慢,但是在增加负载级别时可以很好地进行扩展,同时在并发访问之间提供足够的隔离度,以避免在高写入/读取比率时降低速度。它继续链接到许多性能比较,因为这些因素对条件非常敏感。

因此,如果您的决定因素是“ 哪个更快? ”那么答案是“这取决于。 如果真的很重要,请针对这两者测试您的应用程序。
”而且,如果您真的很在意,您会得到两个DBA(一个专门负责DBA。在每个数据库中),让他们从数据库中调出废话,然后选择。 好的 DBA
多么昂贵,这令人惊讶。和 他们是值得每一分钱

当它重要时。

它可能不会,所以只要选择您喜欢的声音的任何数据库并进行选择即可;可以通过更多的RAM和CPU,更合适的数据库设计以及巧妙的存储过程技巧等来获得更好的性能-
对于所有随机网站X而言,这比苦恼MySQL或PostgreSQL更便宜和更容易,并通过昂贵的DBA进行专业调优。

乔尔还在那个播客中说,评论会再次引起他的注意,因为人们会说MySQL只是一堆烂话-乔尔无法count回头。轶事的复数形式不是数据。
他说:

MySQL是我职业生涯中唯一针对数据完整性问题进行编程的数据库,您在数据库中执行查询并得到无意义的答案,这是不正确的。

他还说:

这只是一个轶事。实际上,这是令我沮丧的一件事,关于博客或整个Internet。[…]有一种将轶事变成事实的怪异趋势,而实际上,作为一个博客作者,我对此感到有点内



 类似资料:
  • 我有一个测试自动化工具,现在我们正在为我们的网络应用程序的自动化测试实现页面对象模型,根据我的理解,如果你只有一个应用程序要测试,页面对象模型是好的,但是我们有多个网络应用程序要测试测试。我只是想知道是否真的有可能为多个Web应用程序创建页面对象模型,并且该工具应该能够通过使用页面对象进行自动化测试??

  • 基于 ASP 的应用程序是 ASP 页和 ActiveX 组件的集合。当用户定义应用程序时,将使用 Internet 服务管理器指定用户的 Web 站点中应用程序启动点的目录。在用户的 Web 站点中每个位于启动点目录下的文件和文件夹都被认为是应用程序的一部分,直到发现另外的启动点目录为止。这样,用户就可以使用目录作为边界定义应用程序的作用域。每个 Web 站点可以有多个应用程序,而每个应用程序的

  • 当我在Android手机上调试应用程序时,我绝对没有遇到任何错误,但在AVD上,我一开始就得到了一个NullPointerException()。我的Android设备在22 API的Lollipop(5.1.1)上运行,我的AVD在28 API的Pie(9.0)上运行。我在gradle中将最小SDK设置为21,编译SDK设置为28。 这是错误: E/AndroidRuntime:致命异常:主进程

  • 问题内容: 我需要在Java Web应用程序停止或tomcat停止时保存一些数据。如何才能做到这一点?编辑:如果我使用jvm shutdown钩有什么缺点? 问题答案: 使用在您的web.xml 中实现ServletContextListener的类:

  • 问题内容: 因此,我有一个用于MySQL JDBC驱动程序的.jar文件,该文件位于我的库源文件夹下,并且具有以下代码: 但是,它总是给我这个错误: 这是我添加jar文件的方法。我创建了一个lib文件夹,并将jar放入其中,然后在eclipse中配置构建路径,并将lib文件夹中的jar添加到了项目中。 问题答案: 您错过了类路径中的mysql-connector-j jar文件。使用“ java

  • 问题内容: 我将使用keycloak保护我的golang应用程序,但keycloak本身不支持go语言。 github中有一些go适配器作为一个开放项目,已经将openId connect协议实现为提供程序服务,但是它们没有提供有关如何将库与应用程序集成的示例或文档。 如何使用Golang与Keycloak互动? 问题答案: 如您所指出的,没有用于golang的官方keycloak适配器。但是实现