1、跳过无关或大列类型
如果表中存在 TEXT、BLOB、JSON 列,而这些列对查询优化统计意义不大,可设置 tidb_analyze_skip_column_types 跳过这些类型,从而减少内存负载。
2、降低采样率与桶数
虽然用户已经设了 0.01,但如仍超限,可以再调得更低;或者减少桶数(bucket 数量越多分析越细,内存越多)。
但要权衡统计精度 vs 系统资源。
3、按分区或拆表进行统计
如果该大表是一个单一大表,无分区,建议启动分区表或拆为多个逻辑子表。之后对每个分区/子表分别执行 ANALYZE,这样单次操作内存占用会更小。
在 TiDB 中,分区表分析可能有…