对于性能问题,我想在django的内存数据库中执行优化算法(我可能会执行大量查询)。我知道可以在内存中使用sqlite(How to run Django's test database only in memory?),但我宁愿使用postgresql,因为我们的prod数据库是postgresql数据库。
有人知道如何告诉django在内存中创建postgresql数据库吗?
提前致谢
答案 0 :(得分:6)
这是不成熟的优化。即使您使用正确的索引在冷金属硬盘上运行Postgresql也非常快。如果您不将数据保留在磁盘上,那么您将面临痛苦的世界。
另一方面,如果您希望通过运行内存postgresql数据库来加速测试,可以尝试这些非持久性优化:
http://www.postgresql.org/docs/9.1/static/non-durability.html
最激烈的建议是在该页面上使用 ramdisk 。 Here's how设置一个。按照OS / Postgresql步骤编辑django settings.py并将表空间添加到DATABASES部分。
最后但并非最不重要:这只是浪费时间。
答案 1 :(得分:1)
这是不可能的。你不能只在内存中使用PostgreSQL;至少不是没有打败使用PostgreSQL而不是其他东西的目的。与PostgreSQL一起运行的内存数据存储如Redis是您可以做的最好的。
此外,在这一点上,配置远远超出了Django的手。它必须在Django的环境之外完成。
看起来您可能对这些系统的工作方式缺乏了解。首先构建您的应用程序以验证一切正常,然后担心以这种方式优化数据库。