不时备份我的数据库:
pg_dump mydb > /path/to/mydb.db
然后我将在另一台服务器上对它执行一些操作。这些操作主要是将数据添加到数据库中,以便数据库在此之后(有时很多)更大。
完成这些操作后,我将恢复原始服务器上的数据库,如下所示:
dropdb mydb
createdb mydb
psql mydb < /path/to/mydb.db
完成后,数据库速度因某种原因比以前慢。对于某些查询,它大约是20倍。如果我在恢复后运行ANALYZE,这也不会真正改变。这一切都是有道理的,因为数据库的大小已经增加。
但是这里有一个奇怪的部分:如果我完全卸载postgresql,创建数据库并恢复我的新(更大)数据库,它会再次快速。
这种行为的原因是什么?