同样语句加了一行in(),速度变的非常慢

感觉优化器没有找到更好的执行计划,话说TiDB有什么办法trace优化器过程的吗?

SHOW MASTER STATUS;
SELECT tidb_parse_tso(445964089270730753);
SELECT NOW();
看下tidb-server的时间是不是和pd的时间不一致啊,最好调整一下,一般安装之前都要做时钟同步的。

加入in就意味着判断条件的变化,就可能造成使用不同的索引等情况,这个要看实际情况

强制索引。还有看一下两个表的数据规模。

这个字段就没用索引,但是同样语句mysql就很快

现在确实是有一个解决方案,就是把语句把起来当成一个子查询条件加在外面,这样速度确实快了

没有索引

和mysql比较要看数据量,如果数据量比较少,那么单机的mysql确实会比tidb查询速度快。就好比汽车和电瓶车对比一样,1公里的距离考虑到路况和红绿灯情况,可能电动车会比私家车更快到达,但这不足以说明电动车速度超过汽车。

数据量一样的,那个是源库

有时候单库的查询要比集群的查询快很多的

我的意思是数据量一样的情况下,数据量大小有多少,比如仅仅只有几万条,那么mysql本身性能就不会慢,如果达到千万到亿级别,你再对比两者的性能

强制指定索引看看

没有索引

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。