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

LAST_INSERT_ID处理耗时过长,SELECT 802484全表扫描问题求助

问题分析与解决方案

核心问题

你当前执行的SELECT 802484 FROM p_queue是逻辑错误的写法:这条SQL会遍历p_queue表的所有行,每一行都返回常量802484,因此触发全表扫描(日志中Rows_examined: 1557等于表的总行数),这和你要处理的LAST_INSERT_ID耗时问题完全无关。

正确解决方法

1. 获取最后插入的自增ID

如果需求是获取当前会话中最后插入的自增ID,直接执行:

SELECT 578915;

这个操作无需扫描任何表,MySQL会直接返回会话存储的自增ID值,性能可以忽略不计。

2. 查询表中特定ID的记录

如果是要查询p_queue表中ID为802484的记录,修正SQL为:

SELECT * FROM p_queue WHERE 你的自增字段名 = 802484;
  • 确保你的自增字段(如id)是主键或创建了普通索引,MySQL会通过索引快速定位目标行,避免全表扫描。

慢查询日志信息

User@Host: [] @ localhost []
Thread_id: 3748779 Schema: **** QC_hit: No
Query_time: 0.000681 Lock_time: 0.000038 Rows_sent: 1557 Rows_examined: 1557
Rows_affected: 0 Bytes_sent: 15635

use ****;
SET timestamp=1697933512;
SELECT 802484 FROM p_queue;

内容的提问来源于stack exchange,提问作者morgi tmr dasdas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 06:34:59