建表速度慢

但是目前单张表建表速度也很慢啊,我单节点的达梦速度能到60毫秒,TiDB0.5秒一张

分布式数据库和单机数据库还是有区别的,毕竟原理不一样

1 个赞

听的出来,原来的方案好好的,上面非要找你折腾。 :joy:

我只能说方案/产品无所谓高低,只有适合。

1 个赞

试过diris OB 基本上也都很慢就想找一个快的分布式集群数据库

1 个赞

没办法现在这边就要这种

所以说喽,要么提高并发,要么就这么反馈。

只能蹲个官方的技术开发来解决了

1 个赞

拓扑的参数都是默认配置。
单纯建表慢。原因可能是,1、硬件 2、网络 3、sql语句 4、tidb兼容性
建议建表语句发出来 让大家试试。


您好这个是我们的建表语句,因为是内网涉密电脑所以不支持拷贝出来只能这样子给大家看了,表的话大差不差都是这些字段和表

开并发试试

1 个赞

开多个窗口,每个窗口放一部分建表语句,多个窗口同时执行效果怎么样呢

admin show ddl找到owner节点,直连owner节点试试看

在 TiDB 中,REAL 类型没有独立实现,而是直接映射到 FLOAT 类型。这种说法是否正确有待考证。
如果这样的话,是不是等价换为float。试下呢?

这个是怎么统计的,如果是Navicat右下角的话,那是不准确的,这里面还包含了navicat拿到结果展示的时间,并且差异很大。我们以前也被navicat骗过 :joy:

换个破解的navicat试试,一般软件没破解的话是有各种限制的

无解,tidb毕竟是分布式数据库,比单机库会慢很多,0.5秒是正常的

@TiDBer_yXTvdhA3 你能登华为机器不?执行个命令:
numactl --hardware

是破解的

@TiDBer_yXTvdhA3 DDL 执行将 TiDB 节点分为 owner 和 non-owner 节点,non-owner 节点只负责提交任务,owner 节点负责实际执行。提交任务后 non-owner 节点目前是采用轮训的方式检查任务是否结束,间隔 500ms (我们有计划通过事件通知来优化这块,但 8.5 以及之前的版本还是轮训),所以可以看到执行一个 ddl 至少 0.5s 的现象

如果是在 owner 节点上执行 DDL,owner 执行完后会通过事件通知对应提交线程,所以会快得多。可以通过 admin show ddl 来查看当前哪台节点是 owner 节点,连到该节点执行 DDL,以下是我本机 tiup playground 的执行结果

mysql> create table t(id int);
Query OK, 0 rows affected (0.05 sec)

mysql> create table t1(id int);
Query OK, 0 rows affected (0.04 sec)

如果 tidb 测存在 LB,无法控制连接的具体节点,可以通过提高并发的方式来提高整体建表的吞吐

1 个赞

你这个估计是机器的问题,和tidb没啥关系