如何修改tidb InnoDB 存储引擎允许的最大索引长度

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】如何修改tidb InnoDB 存储引擎允许的最大索引长度
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

https://docs.pingcap.com/zh/tidb/stable/tidb-configuration-file#max-index-length

也就是说我可以在tidb的配置文件中直接配置索引大小,突破3072的限制吗

最大 3072*4

太长了并不一定好吧,搞得索引比数据长比数据大,速度并不一定提升吧

1 个赞

没办法呀,业务需求,只能牺牲性能了

那就调整,如果字段长度超过200以上了。个人认为都不建议加索引,最好不让单独使用这个字段查询,让他查其他字段,比如加一个日期。

1 个赞


是不是考虑前缀索引啊

用不上吧。。太长了

tiup cluster edit-config tidb-test
#在tidb参数那添加如下参数
max-index-Length: 12288

建立那么长的索引没必要吧,可以建立一部分列索引,create index ind_1 on t(col1(10));

字符串上创建比较长的index,SQL执行效果也不会太好,修改参数如下:

考虑下表达式索引呢,索引列的前20个字符,不要索引列全部

搞那么长啊,是字段前面几十个字符高度重复,不适合业务场景么?