每当我通过多次迁移从软件(代码)升级我的数据库模式时,一些数据库操作需要大量时间才能完成。我理解 pgstats,有些事情搞砸了,查询计划也被修改了。手动运行 ANALYZE 后,相同的操作将在 2-3 秒内完成。
深入研究 autovacuum 和分析让我明白了它的作用。但我的要求是在我的数据库模式更新后运行 ANALYZE。
我的应用程序使用实体框架代码优先方法。当我的软件启动和启动时,数据库架构会更新。即使我的 postgres autovacuum 参数设置为 ON,它在模式更新时也不会运行。所以,我需要在我的软件启动后运行 ANALYZE。
在软件启动后和任何点击发生之前,我如何从我的代码中对整个数据库运行 ANALYZE ?它是一个 C# WPF 应用程序。