增加default_statistics_target值可以使您的数据库更快,特别是在分析之后。
阅读这篇文章后,我看到https://discuss.pivotal.io/hc/en-us/articles/201581033-default-statistics-target-Explained
(...)简而言之,此参数控制着统计信息的收集方式,其中值1是估计/准确度最低的统计信息,值1000是最准确的统计信息,显然这会浪费时间/资源(CPU,内存等)/空间。通常,默认值足以获得准确的计划,但是如果您具有复杂的数据分布/或者查询中经常引用某列,则设置较高的值可能有助于获取更好的表统计信息,因此优化程序执行的更好计划。
这是一个很好的解释,但是例如,如果我将default_statistics_target = 1000设置为1000,这到底意味着什么?正在生成1000 KB的统计信息吗?还是分析了1000行表?也许是1000列?每次分析可能需要1000秒...
所以我的问题是,这个数字是如何真正影响分析或查询计划者的?很明显,我知道default_statistics_target = 1000会获得比100更长的运行分析时间,并且1000会生成更好的统计信息...