【TiDB 版本】:5.0.2
【问题】:系统中出现大量查询stats_hisgroams表的慢SQL ,全表扫描,
- 能否对系统表进行额外的索引添加?
- 能否将 UNIQUE KEY
tbl
(table_id
,is_index
,hist_id
) 改为 UNIQUE KEYtbl
(table_id
,is_index
,hist_id
,**tot_col_size
**)
【TiDB 版本】:5.0.2
【问题】:系统中出现大量查询stats_hisgroams表的慢SQL ,全表扫描,
tbl
(table_id
,is_index
,hist_id
) 改为 UNIQUE KEY tbl
(table_id
,is_index
,hist_id
, **tot_col_size
**)参考一下这个主题
那帖子也是我提的 ,这次问题不一样,这次问题是想通过添加索引 或修改唯一索引列来优化系统表的访问。不知道对系统表额外的操作是否会引起异常。
额……稍微有点尴尬……我觉得是可以添加索引辅助提升查询效率的,但是修改主键我觉得没有必要,毕竟TiDB默认也是不允许修改主键的。
是个unique key,stats_histogram没设置primary key
加这个的目的是什么?看where条件了也没有这个条件
2个想法 1. is_index 加个独立索引 2. 担心is_index=0的值比较多,回表成本可能会更大,所以考虑 在unique key里加上 tot_col_size,这样这个SQL是不是能走覆盖索引,还不影响其他使用这个索引
我这边没有实践数据,可以验证一下。或者可以在原贴后面追问,我看原贴也还没有结贴。
好的,谢谢