GBase 8a
性能调优
文章
GBase 8a 中 常用的 Hint 类型
发表于2026-03-23 11:23:2515次浏览6个评论
Hint 是在优化器判断持续失误、且无法通过更新统计信息解决时使用的最后手段。适合使用 Hint 的典型场景有三类:一是统计信息无法及时更新(如实时写入的表统计信息来不及刷新),导致执行计划反复跑偏;二是数据分布极度不均匀,优化器的通用代价模型在特殊数据下估算失准;三是紧急情况下需要立刻稳住查询性能,来不及做深入排查。
GBase 8a 常用的 Hint 类型有以下几种:
STRAIGHT_JOIN 用于强制指定 JOIN 驱动顺序,让优化器按照 SQL 中表的书写顺序执行 JOIN,适合优化器选错驱动表的场景。
BROADCAST(表名) 用于强制将指定表以广播方式发送到所有节点,避免大表之间触发全量 shuffle,适合小表与大表 JOIN 但优化器没有自动选择广播的场景。
PARALLEL(N) 用于强制指定查询的并行度,适合在资源允许的情况下手动提升单条查询的并发执行线程数。
使用 Hint 时需要注意,Hint 只是临时干预手段,不应长期依赖。数据分布变化后原来合适的 Hint 可能反而变成性能瓶颈,因此要定期复查带有 Hint 的 SQL,在根本问题解决后及时移除。
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25051
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526