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

MySQL查询随时间变慢问题排查求助

数据库查询随时间变慢的原因排查

基础信息

表结构

CREATE TABLE `servers` (
  `ipport` varchar(255) NOT NULL,
  `ip` varchar(255) NOT NULL,
  `port` int(11) NOT NULL,
  `ip_as_int` int(10) unsigned NOT NULL,
  `version` text NOT NULL,
  `protocol` int(11) NOT NULL,
  `online_count` int(11) NOT NULL,
  `max_count` int(11) NOT NULL,
  `description` text NOT NULL,
  `favicon` text DEFAULT NULL,
  `last_seen` int(11) NOT NULL,
  `cracked` tinyint(1) DEFAULT NULL,
  `joined_on` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`ipport`),
  KEY `ip_as_int_idx` (`ip_as_int`),
  KEY `last_seen_idx` (`last_seen`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci

数据更新情况

  • 表内约有90万条记录,其中60万条每5分钟通过REPLACE INTO语句执行更新操作。

服务器配置

  • 内存:8GB
  • vCPU:6核
  • 交换内存:8GB

异常现象

  • 执行systemctl restart mariadb重启MariaDB后,查询耗时约3秒;
  • 随着时间推移,查询速度逐步变慢,近期甚至出现单次查询耗时2分钟的情况。

示例查询语句

SELECT /*+ MAX_EXECUTION_TIME(120000) */ * 
FROM servers AS s 
WHERE (protocol = 762) 
AND (s.last_seen > 1687177923) 
ORDER BY RAND() 
LIMIT 100;

问题

我想了解导致查询随时间逐渐变慢的原因。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:35:01