You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL远程查询性能异常(40s vs 1.8s)求助排查

经过一番折腾,终于找到问题根源了——这居然是MySQL连接器的bug!先谢谢之前帮我出主意优化表结构的朋友们,不过问题比表结构的问题要深得多,我把整个问题和排查过程理出来给大家参考:

初始问题

我有一条非常简单的查询语句:

SELECT a, b, c FROM d WHERE cola <= 123456789012345 and 123456789012345 <= colb

这条语句在Windows版MySQL 8.0.21服务器本地执行只需要1.8s,但通过远程连接执行居然要40s,而且结果只返回1行数据。服务器上的表有1000万行数据,网络是高速光纤,带宽肯定不是问题:

  • 用Workbench在服务器本地执行:1.89s
  • 本地电脑用Navicat远程执行:30-60s不等(耗时随服务器负载波动)
排查过程(更新记录)

UPDATE 1:环境对比与执行计划分析

  • 慢日志完全验证了本地和远程的耗时差异确实和实际情况一致
  • 换到Linux服务器的MariaDB上测试,本地、远程执行都只需要2s,推测问题出在Windows版MySQL 8.0.21上,可能和升级流程有关
  • 执行计划详情如下:
    • Select type: Simple
    • Type: ALL
    • Possible keys: cola, colb, cola-colb, colb-cola
    • key: null
    • key_len: null
    • rows: 10M
    • filtered: 22.58
    • Extra: using WHERE

UPDATE 2:表结构信息(本地与远程环境完全一致)

表的创建语句如下:

CREATE TABLE `d` ( 
  `cola` decimal(39,0) unsigned DEFAULT NULL, 
  `colb` decimal(39,0) unsigned DEFAULT NULL, 
  `a` char(2) COLLATE utf8_bin DEFAULT NULL, 
  `b` varchar(64) COLLATE utf8_bin DEFAULT NULL, 
  `c` varchar(128) COLLATE utf8_bin DEFAULT NULL, 
  `d` varchar(128) COLLATE utf8_bin DEFAULT NULL, 
  KEY `idx_cola` (`cola`), 
  KEY `idx_colb` (`colb`), 
  KEY `idx_cola_colb` (`cola`,`colb`), 
  KEY `idx_colb_cola` (`colb`,`cola`) USING BTREE 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin

UPDATE 3:切换存储引擎后的表现

把表转为InnoDB后,出现了这些变化:

  • 本地和远程执行耗时变得接近,但都需要6-7s,反而比MyISAM时的2s慢了
  • 按照@Rick James的建议优化索引后,服务器本地执行耗时降到1s以内,但远程执行还是需要7s,本地和远程的性能差异依然存在

UPDATE 4:不同客户端/连接方式的差异测试

在服务器上测试了不同连接方式的表现,结果更奇怪:

  • 自定义程序用localhost连接执行:7s
  • 相同查询在Workbench本地执行:0.9s
  • 远程用Workbench执行:0.9s
  • 远程用Navicat/mysql.data连接器(MySQL 8.0.21版本)执行:7s
    这种差异实在让人费解

UPDATE 5:本地复现与bug提交

我在本地电脑也成功复现了这个问题:

  • Workbench执行查询:0.9s
  • 自定义程序和Navicat执行相同查询:7s
    目前已经向官方提交了这个bug

UPDATE 6:性能架构数据补充

补充性能架构的数据:只有通过Workbench执行的完全相同的查询,性能表现正常,其他客户端或连接器都会出现耗时飙升的情况

内容的提问来源于stack exchange,提问作者Dani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 08:17:48