灌水唠嗑区
其他
问答
执行 ANALYZE TABLE 之后,统计信息会立刻生效吗?对正在运行的查询有影响吗?
发表于2026-03-23 11:18:158次浏览4个评论
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】:
【操作系统】:
【CPU】:
【问题描述】*:执行 ANALYZE TABLE 之后,统计信息会立刻生效吗?对正在运行的查询有影响吗?
评论
登录后才可以发表评论
nodddddd发表于 4个月前
GBase用户21182发表于 4个月前
@nodddddd:在理
milan发表于 4个月前
学习
经纬发表于 4个月前
一、核心结论(一句话版)
ANALYZE TABLE 执行后,统计信息不会立刻对所有正在运行的查询生效
对正在运行的查询没有任何影响
只有新生成的执行计划、新打开的会话、或缓存失效后才会使用新统计信息
ANALYZE TABLE 执行后,统计信息不会立刻对所有正在运行的查询生效
对正在运行的查询没有任何影响
只有新生成的执行计划、新打开的会话、或缓存失效后才会使用新统计信息
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526
对于已经在执行中的查询不会有任何影响,正在运行的 SQL 使用的是它开始执行时生成的执行计划,不会因为 ANALYZE 而中断或改变。
需要注意的是,ANALYZE TABLE 期间会对目标表加读锁,如果在业务高峰期对大表执行,可能会阻塞同时进来的写入请求。因此建议安排在业务低峰期(如凌晨2~4点)执行,或者对分区表使用 ALTER TABLE t ANALYZE PARTITION p_xxx 只更新指定分区,减少锁定范围和执行时间。