2008-11-22 27 views
7

我最近将一个项目从MySQL InnoDB切换到PostgreSQL,并且在使用ajax插入和更新数据时感觉更大的滞后。这可能是主观的。我知道Django开发者推荐postgres,我知道psycopg2应该比MysqlDB更快。 Personaly我喜欢postgres强制数据库完整性的方式,但我主要担心这个项目的性能。想听到别人对此的看法。Django使用哪种RDBMS?为什么?

回答

0

SQLite。没有后端服务器。非常适合开发者

3

为什么你不测量?这是确保性能的唯一方法。如果没有硬数据,手挥动着多慢就好像试图用手抓住水一样。

使用Web服务器压力工具(如可在Jython中编写脚本的Web服务器压力工具)测量每秒事务数量甚至更好的请求,同时使用MySQL后端和PostgreSQL,然后查看是否有所作为。如果有,请在此处询问,或者更具体地说,询问pgsql-general或pgsql-performance邮件列表。那里有许多专家知道负载,甚至是主要的开发者。 PostgreSQL配置中有很多与性能相关的旋钮。

3

这可能是错误的索引使用。只要确保你有正确的指标,并确保定期分析和抽真空表应该给出相当不错的结果。

即使Postgres的结果是慢一点,在某些情况下,我个人认为它提供的功能大大超过了轻微的性能损失。

Postgres确实是一个漂亮的数据库,任何时候我使用其他任何东西,我希望我使用Postgres。

+0

是的。我有点儿以为基本知识会照顾到:-)事实上,Postgres是可爱的。 – 2008-11-22 09:25:31

3

我在上一个项目的开发阶段首次使用了SQLite。它很容易设置,便于从一个开发系统转移到另一个开发系统等等。我必须补充一点,当我最终将项目移植到MySQL的生产环境中时,一些微妙的问题体现在MySQL本身并不存在完全用SQLite。没什么大不了的,但从现在开始,如果我不得不在MySQL上部署项目,我更愿意在开发阶段使用MySQL。

相关问题