我不明白 MS SQL 服务器中查询存储的一些参数是如何工作的

I don't understand how some parameters of Query Store in MS SQL Server works

根据官方文档:在 sys.database_query_store_options 中,我们有可以调整查询存储工作流程和性能的选项。

来自文档:

"flush_interval_seconds - The period for regular flushing of Query Store data to disk in seconds. Default value is 900 (15 min)"

"interval_length_minutes - The statistics aggregation interval in minutes. Arbitrary values are not allowed. Use one of the following: 1, 5, 10, 15, 30, 60, and 1440 minutes. The default value is 60 minutes."

现在我有一个问题:

  1. 如果 Query Store 每 15 分钟将数据刷新到磁盘,为什么我在执行后几秒钟内就会在 QS 表中看到查询? 据我了解,QS 表是 'permanent',它们存储在数据库(磁盘上)中,那么这个参数 (flush_interval_seconds) 是如何工作的?

  2. 关于 interval_length_minute 同样的事情 - 当我在上次查询执行 1 分钟后保存 QS 输出时,在 61 分钟后我意识到它们不太一样,那么这个呢聚合?

  1. flush_interval_seconds - 查询存储数据定期刷新到磁盘的周期(以秒为单位)。这意味着从内存刷新到磁盘,这样信息就不会在服务器重启后丢失。在冲洗之前,您只是从内存中读取信息。
  2. interval_length_minute - 这是查询运行时统计信息的聚合间隔。它越低,运行时统计信息的粒度就越细。

None 个选项设置了信息可用的期限。