一尘不染

MySQL与PostgreSQL?我应该为我的Django项目选择哪个?

django

我的Django项目将由具有数十万个条目的大型数据库支持,并且将需要支持搜索(我可能最终会使用djangosearch或类似的项目。)

哪个数据库后端最适合我的项目,为什么?您能否推荐任何好的资源以供进一步阅读?


阅读 782

收藏
2020-03-30

共2个答案

一尘不染

作为最近将项目从MySQL切换到Postgresql的人,我并不后悔切换。

从Django的角度来看,主要区别在于Postgresql中更严格的约束检查,这是一件好事,并且进行手动模式更改(又名迁移)也比较乏味。

大概有6个左右的Django数据库迁移应用程序,至少有一个不支持Postgresql。我并不认为这是一个缺点,因为你可以使用其他方法之一,也可以手动进行操作(这是我更喜欢的atm方法)。

MySQL 可能更好地支持全文搜索。MySQL具有内置的Django内支持的全文本搜索功能,但是它几乎没有用(没有词干,短语搜索等)。我使用django-sphinx作为MySQL中全文搜索的更好选择。

2020-03-30
一尘不染

不管怎样,Django的创建者都推荐PostgreSQL。

如果您不受任何遗留系统的束缚,并且可以自由选择数据库后端,那么我们建议您使用PostgreSQL,它可以在成本,功能,速度和稳定性之间取得很好的平衡。(《 Django权威指南》第15页)

2020-03-30