当前使用版本(必填,否则不予处理)
latest:3.5.1
该问题是如何引起的?(确定最新版也有问题再提!!!)
其他的业务,数据插入很快,但是执行下面sql 自定义建表就特别慢。是为什么呢?
严重的时候 有3秒的耗时
重现步骤(如果有就写完整)
关于建表逻辑请参考这个 issue: #4400
这个是数据:
2022-03-31 16:40:45,703 [ForkJoinPool-1-worker-3] DEBUG [c.h.r.mapper.ArchiveTableMapper.createTable] BaseJdbcLogger.java:137 - ==> Preparing: create table xxx_archive_form_1648716044796 ( `db_field_0` int , `db_field_1` bigint , `db_field_2` varchar(12) , `db_field_3` int , `db_field_4` bigint , `db_field_5` varchar(15) , `db_field_6` int , `db_field_7` bigint , `db_field_8` varchar(18) , `db_field_9` int ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
2022-03-31 16:40:45,704 [ForkJoinPool-1-worker-3] DEBUG [c.h.r.mapper.ArchiveTableMapper.createTable] BaseJdbcLogger.java:137 - ==> Parameters:
2022-03-31 16:40:46,885 [ForkJoinPool-1-worker-3] DEBUG [c.h.r.mapper.ArchiveTableMapper.createTable] BaseJdbcLogger.java:137 - <== Updates: 0
Comment From: jhx-zc
已解决。再次测试后发现是因为上面这个测试用的数据库在另一个电脑的docker里面运行的,哪怕是通过数据库工具执行create table也会很慢。切换数据源延时大大缩小。是硬件资源的问题,与代码关系不大
Comment From: jhx-zc
只是为什么其他的sql执行又很快呢? 而且其他的sql执行需要传输的数据量跟create table也不差的。基本上可以排除网络传输的问题
留一个小尾巴
Comment From: miemieYaho
执行sql都是mybatis的事