我正在使用Python(Django)开发一个web应用程序,我想知道在部署用于生产时,MySQL或PostgreSQL是否更合适.

在一篇podcast页的文章中,Joel说他在MySQL上遇到了一些问题,而且数据不一致.

我想知道是否有人有这样的问题.还有,在性能方面,哪些方面可以轻松调整?

推荐答案

A note to future readers:下文最后一次编辑是在2008年8月.这是近11年前的编辑.软件可以在不同版本之间快速变化,因此在根据下面的建议 Select DBMS之前,请进行一些研究,看看它是否仍然准确.


较好的

MySQL通常由web主机提供.

PostgreSQL是一款成熟得多的产品.

this discussion addressing your "better" question

显然,根据this web page,当并发访问级别较低时,以及当读操作比写操作多得多时,MySQL的速度很快.另一方面,随着负载和读写比的增加,它的可扩展性很低.PostgreSQL在低并发级别时速度相对较慢,但随着负载级别的增加,其可扩展性很好,同时在并发访问之间提供了足够的隔离,以避免在高写/读比率时速度变慢.它接着链接到一些性能比较,因为这些东西非常...对环境敏感.

所以,如果你的决定因素是"which is faster?",那么答案是"这取决于.If it really matters, test your application against both.".如果你真的非常在乎,你可以找两个DBA(每个数据库都有一个专门的DBA),让他们调整数据库中的垃圾,然后 Select .good位DBA的价格令人惊讶;和they are worth every cent.

重要的时候.

它可能不会,所以只需 Select 你喜欢的数据库,然后使用它;使用更多的RAM和CPU、更合适的数据库设计和聪明的存储过程技巧等等,可以买到更好的性能——对于random-website-X来说,所有这些都比纠结于 Select 哪个数据库、MySQL或PostgreSQL,以及从昂贵的DBA处进行专家调优更便宜、更容易.


Joel also said in that podcast that comment would come back to bite him because people would be saying that MySQL was a piece of crap - Joel couldn't get a count of rows back. The plural of anecdote is not data. He said:

MySQL是我职业生涯中唯一一个遇到数据完整性问题的数据库,在这里,你进行查询,然后得到错误的无意义答案.

他还说:

这只是个轶事.事实上,这是让我感到沮丧的事情之一,关于博客或整个互联网.[...] 有一种奇怪的倾向,就是把轶事变成事实,实际上,作为一个博客作者,我开始对此感到有点内疚

Mysql相关问答推荐

同一类型对象之间的多对多关系

在MySQL中存储一条帖子的点赞数量

DJANGO 使用原始 MYSQL 查询计算记录数并在 html 模板中使用结果

MySQL - 事务绑定多个存储过程调用和回滚的简单方法?

使用索引进行查询优化

Select 不同的列,其中另一列不包含特定值

「已解决」MySQL 连接在 vb6 上出现运行时错误 -2147467259 (80004005),但在 VBA Excel 上工作

try 在 .map 中使用 Favorite 选项卡进行react .我无法更改 mysql 表上的布尔类型

从多到多表中 Select 数据而无需重复

在一个 SQL 查询中对同一列中相同类型的不同值求和

如何在每个国家/地区查询 GHTorrent(类 SQL 语言)的最常用语言

MySQL在定义表的位置后抛出错误

非常规字符的不正确字符串值错误

MariaDB 下的慢速更新、删除和插入查询

当您无法修复表时,如何修复 MySQL不正确的密钥文件错误?

MySQL INSERT IF(自定义 if 语句)

字符ي和ی以及波斯语的区别 - Mysql

MySQL如何为数据库中的所有表生成DDL

你能推荐一个免费的 Linux 轻量级 MySQL GUI 吗?

匹配 IN 子句中的所有值