我复现了一下,确实需要 3s,查看日志主要耗时在这条日志上。
[2022/11/16 02:18:19.173 +00:00] [INFO] [ddl.go:1230] ["sleep before DDL finishes to make async commit and 1PC safe"] [duration=2.5s]
由于 tidb ddl 的特殊性与复杂性,相较于其他数据库确实会慢很多,但是 ddl 基本都是一次性工作,基本可以忽略不计。另外可以参考下面这个帖子的回复看是否对您有帮助:TIDB为什么 给一个空表创建索引会很慢呢 - #7,来自 centosredhat
还有 blog 讲 ddl 原理的 https://cn.pingcap.com/blog/tidb-source-code-reading-17