7

我正在使用 Heroku Postgres,想看看在我的数据库中添加一些额外的索引会有什么效果。

我正在查询pg_stat_user_tables以查看使用索引的查询比例,但我相信这是自创建数据库以来使用的统计信息。

我知道运行SELECT pg_stat_reset();会重置这些统计信息,但是当我尝试在 pg:psql 控制台中运行它时,我得到了错误:

ERROR:  must be superuser to reset statistics counters

有没有另一种方法可以使用 Heroku Postgres 生产数据库来实现这一点?

4

2 回答 2

3

我今天通过支持请求发现现在已添加:

heroku plugins:install git://github.com/heroku/heroku-pg-extras.git

heroku pg:stats_reset

于 2016-01-11T13:45:32.690 回答
2

重现执行这些查询的场景或测试对您来说有多容易?你能做到以下几点吗?

  1. 在 heroku 上创建一个新的测试应用和测试数据库
  2. 使用旧索引部署旧版本的应用程序(如果复制整个数据库不可行,则使用具有代表性的数据子集)
  3. 运行您的查询或测试,或运行您的应用程序
  4. 注意数据库统计信息
  5. 删除测试数据库并创建一个新数据库
  6. 用您的数据填充新的测试数据库,并添加新的索引
  7. 将测试应用程序指向新数据库
  8. 再次运行查询或测试
  9. 注意新的数据库静态

希望您能够轻松创建一组具有代表性的数据,让您更轻松地测试查询。

于 2013-02-13T05:59:01.013 回答