【 TiDB 使用环境】生产环境 /测试/
【 TiDB 版本】
需要对某个表修改表结构(新增索引),数据量太大每次修改都会失败,有什么比较好的方式,类似于pt-online-schema-change这些工具也行
【遇到的问题:问题现象及影响】
【资源配置】
建议你看一下这个。是一个比较全面的测试。可以参考一下。
tidb本身就支持在线online ddl,好几亿的表,数据量上百G的表都成功改过。
你需要查看具体的失败原因,根据错误提示进行修正
不是生产系统访问很频繁的表,直接操作就可以了,8G大小,2000万数据也不大;
数据量也不算太大,可以直接修改
主要是时间,间隔太长会影响原来的业务
正常online ddl ,应该没有啥影响,
首先,说一下要怎么改表结构,改不同的东西代价也不一样。
然后,2千万数据不算大,调整表结构不会太慢
1 个赞
先看看你是哪个版本。
不过一般直接改就行的。
实时观察情况。
加索引
找个空闲时间窗口,直接加
v7.0加索引应该很快。
以下是我们真是的案例,并且我们是机械盘的虚拟机。
升级前版本是v5.1.0,数据库表现:添加索引特别慢,稍微大点的表就要几十分钟甚至超过1个小时。
升级后版本是v6.5.4,数据库表现:1.6亿数据表加索引,用时192秒,3分钟左右。
2 个赞
添加索引,8gb 直接加
我这边几亿的表都是直接加列和索引的,没有中断过啊
磁盘空间多大啊,是不是空间不够失败的,2000万左右应该很快的
这个规模的数据,直接加索引完全没问题,如果一直卡住或者失败,试着检查下tidb-server的临时目录,如果没有自动建的话手动建一下,v7.10-v7.1.1 有个bug, 默认路径为:
/tmp/tidb/tmp_ddl-4000
chown tidb:tidb -R /tmp/tidb/tmp_ddl-4000
自持online ddl
tidb什么版本的?报什么错了?有日志吗?最好还是在业务低峰期修改。