我是Django的新手,在Django中只使用sqlite3作为数据库引擎.现在,我正在开发的一个应用程序正在变得相当大,无论是在模型的复杂性和每秒请求数方面都是如此.

Django支持的数据库引擎在性能方面如何比较?在使用它们时有什么trap 吗?最后但并非最不重要的一点是,一旦你使用了一台发动机一段时间,切换到另一台发动机有多容易?

推荐答案

如果您要使用关系数据库,Django社区中最流行的似乎是PostgreSQL.这是我个人的最爱.但是,MongoDB似乎在Python/Django社区也变得相当流行(不过,我从来没有用它做过项目).在MySQL上也有很多成功的项目.但是,我个人更喜欢PostgreSQL9.0或9.1.希望这能帮上忙.

编辑:我在这篇文章中做得不是很好.我只想补充几点考虑.

对于绝大多数网站来说,MySQL或PostgreSQL都可以很好地工作.两者各有长处和短处.我建议你在谷歌上搜索"MySQL vs PostgreSQL",这个搜索有很多匹配的结果(在写这篇文章的时候,我得到了超过300万条).这里有一些做判断的小贴士.

  1. 强烈推荐最近的文章.尽量确保将MySQL5.5与PostgreSQL9.0或9.1进行比较.
  2. MySQL让您 Select 存储引擎.国际海事组织,关闭苹果与苹果的比较是InnoDB与Postgres.
  3. 请记住,您可能不需要InnoDB或Postgres的所有功能.您还应该看看其他一些存储引擎.

此外,如果您计划在您的系统中使用任何触发器,那么MySQL和InnoDB中有几个与它们和ACID遵从性相关的非常糟糕的错误.这里是the first one,这里是another one.您可能不需要此功能,只需注意它即可.

最后一件可能对您有所不同的事情是,使用PostgreSQL,您可以使用Python编写db函数.这是link to the docs美元.

Database相关问答推荐

如何使授权服务器与外部数据库保持同步?

从 GCP 机密管理器中读取 .DER 值并将其保存到 .DER 文件

utf-8 与 latin1

在 bindParam 中使用 LIKE 进行 MySQL PDO 查询

为什么 COUNT() 只显示一行表格?

估计数据库大小

SQL Server 简单插入语句超时

如何将数据库从一台计算机复制到另一台计算机?

文件访问速度与数据库访问速度

South migration error: NoMigrations exception for django.contrib.auth

从 postgresql 转储文件填充 MySQL 数据库

什么是数据库中的死锁?

一个 Linq to Sql - 多个 .DBML 文件或一个 .DBML 文件

有什么理由不应该在生产中使用 h2 数据库?

如何在 Windows 中将用户添加到 PostgreSQL?

使用 PHP 和 MySQL 开发测验Web 应用程序的数据库设计

QSqlDatabase & QSqlQuery 的正确方法是什么?

如何以 SYS 身份在 Java 中连接到 Oracle?

在连接表中,Rails 缺少组合键的最佳解决方法是什么?

从数据库中获取事件