7

我正在运行在数据库中花费大量时间的各种测试。

我想把它全部保存在内存中,让它不接触数据库,希望这会加快速度。就像使用 sqlite3 的内存选项一样。我不需要持久性/耐用性/诸如此类的东西,测试后所有东西都会立即丢弃。

那可能吗?我尝试调整我的 postgres 内存相关变量(如下面的解决方案),但这似乎不会影响它执行的数据库写入次数,而且我找不到任何看起来像“内存”选项的东西.

https://dba.stackexchange.com/questions/18484/tuning-postgresql-for-large-amounts-of-ram

4

1 回答 1

9

前段时间我写了一篇详细的帖子:

优化 PostgreSQL 以进行快速测试

您可能会发现它内容丰富;它涵盖了使 PostgreSQL 在没有持久性的情况下运行的选项以及对运行测试有用的其他调整。

您实际上不需要内存中的操作。如果 PostgreSQL 设置为不将更改刷新到磁盘,那么在实践中,适合 RAM 的 DB 和不适合 RAM 的 DB 不会发生崩溃。

您应该使用您在生产中使用的相同数据库引擎进行测试。使用 SQLite、Derby、H2 等进行测试,然后在 PostgreSQL 上进行实时部署并没有多大意义……因为任何 Heroku/Rails 用户都可以从经验中告诉你。

于 2013-07-19T01:10:30.947 回答