📋 目录统计概览Top10 明细(按单条耗时)高频慢查询模式(指纹聚合,取样 20,328 条触发深度分析的模式(条数>100 或 累计>30逐条优化建议汇总

MySQL 慢查询日报(线上 prod591)2026-09-14

统计概览

项目值
统计范围2026-09-14 00:00:00 ~ 23:59:59(Asia/Shanghai)
环境prod-591
慢日志条数(ES mysql-slow_*)40,716 条(指纹聚合取样 20,328 条,覆盖率 50%,超过 2 万条上限截断)
Top10 单条最慢8,428.77 s(user=Security591,ZHDX_t591_207)
非备份模式最大累计8.86h(4487 次 × 7.11 s)
备份模式(user 含 backup/databasus_backup)44 条、累计 1.56h(单独标注,不触发深析)
监控巡检类(jmysql/proxysql_monitor 或 information_schema)99 条、累计 2.1min(多为 # Schema: 空导致采集端 _grokparsefailure、无库名;单独标注,不触发深析)
深析模式 explain 成功率6/8(75%)
数据来源ES mysql-slow_*(@timestamp)+ MCP 只读 MySQL(describe_schema/explain)
生成时间2026-09-15 10:08(Asia/Shanghai)

Top10 明细(按单条耗时)

#耗时(s)库.表行数 sent/examineduser / server慢因分类
18,428.77t591_new.market_ep_build1 / 1,112,482,457Security591 / ZHDX_t591_207扫描行数远大于返回行数(1,112,482,457/1)、索引范围扫描量过大(market_ep_build: key=idx_area, rows=3,404,140)
28,222.32t591_new.market_ep_build1 / 1,112,482,457Security591 / ZHDX_t591_207扫描行数远大于返回行数(1,112,482,457/1)、索引范围扫描量过大(market_ep_build: key=idx_area, rows=3,404,140)
35,977.33t591_new.market_community_agent_bid_record_detail21,499 / 4,629,451,923bi / ZHDX_t591_148扫描行数远大于返回行数(4,629,451,923/21,499)、索引范围扫描量过大(market_community_agent_bid_record_detail: key=idx_created_at, rows=3,568,860)
41,701.70tw591_gateway.verify_log8,741,046 / 8,741,046databasus_backup / ZHDX_t591_118:3307其他(需结合 SQL 与执行计划人工判断)
51,509.20t5_pop_recmd.user_profile_latest9,367,880 / 9,367,880databasus_backup / ZHDX_t591_118:3307其他(需结合 SQL 与执行计划人工判断)
61,007.17t591_new.market_voucher_use149 / 593,817,485bi / ZHDX_t591_148扫描行数远大于返回行数(593,817,485/149)
7780.07t591.sale0 / 37,733,561bi / ZHDX_t591_148扫描行数远大于返回行数(37,733,561/0)、IN (SELECT ...) 子查询(易退化为相关子查询逐行执行, 建议改 JOIN/EXISTS)
8691.57t591_new.market_ep_build1 / 1,068,758,193Security591 / ZHDX_t591_207扫描行数远大于返回行数(1,068,758,193/1)、索引范围扫描量过大(market_ep_build: key=idx_area, rows=3,404,140)
9640.72t591_new.market_ep_build1 / 1,068,758,193Security591 / ZHDX_t591_207扫描行数远大于返回行数(1,068,758,193/1)、索引范围扫描量过大(market_ep_build: key=idx_area, rows=3,404,140)
10625.58t591.sale45 / 39,489,516bi / ZHDX_t591_148扫描行数远大于返回行数(39,489,516/45)

高频慢查询模式(指纹聚合,取样 20,328 条)

按条数 Top5

#模式(指纹摘要)条数平均(s)累计serveruser
1select id, name, checkstatus, deleted, build_purpose from t591_new.market_community FORCE INDEX(idx_region_section) where status = ? and deleted = ? and checkstatus = ? and type = ? and regionid = ? and sectionid = ? /* ms:tw591ms-cdc */;4,4877.118.86hZHDX_t591_207tw591
2select count(*) as aggregate from sale where status = ? and closed = ? and community_id = ? and kind IN (?...) and posttime >= ? /* ms:tw591ms-cdc */;3,1821.711.51hZHDX_t591_207tw591
3
select a.community_id, MIN(a.user_id) as user_id from t591.sale as a inner join t591_new.market_community_agent_bid_record as b on a.user_id = b.user_id inner j …(点击展开完整 SQL)
select a.community_id, MIN(a.user_id) as user_id from t591.sale as a inner join t591_new.market_community_agent_bid_record as b on a.user_id = b.user_id inner join t591_new.im_user_bind as im on im.im_uid=CONCAT(a.user_id,?) where a.community_id IN (?...) and b.start_time >= ? and b.end_time <= ? and b.status = ? and b.proc_status = ? and b.deleted = ? and a.status = ? and a.closed = ? group by a.community_id /* ms:tw591ms-community */;
1,9284.432.37hZHDX_t591_137,ZHDX_t591_181,ZHDX_t591_18tw591
4select last_contacted_at, uid, is_sticked from im_conversations where conversation IN (?...) and uid != ? and im_conversations.deleted_at is null /* ms:hongyan-web-server */7462.4530.4minRDS_IMhk591
5
select ep.sectid, valuation.valuation_price from user_house_source as valuation inner join market_ep_build as ep on ep.id = valuation.ep_source_id where ep.sect …(点击展开完整 SQL)
select ep.sectid, valuation.valuation_price from user_house_source as valuation inner join market_ep_build as ep on ep.id = valuation.ep_source_id where ep.sectid IN (?...) and valuation.created_at >= ? and valuation.created_at < ? and valuation.valuation_price > ? and version = ? order by ep.sectid asc, valuation.valuation_price asc /* ms:tw591ms-house-resource */;
5813.8437.2minZHDX_t591_137,ZHDX_t591_181,ZHDX_t591_18tw591

按累计耗时 Top5

#模式条数平均(s)累计serveruser
1select id, name, checkstatus, deleted, build_purpose from t591_new.market_community FORCE INDEX(idx_region_section) where status = ? and deleted = ? and checkstatus = ? and type = ? and regionid = ? and sectionid = ? /* ms:tw591ms-cdc */;4,4877.118.86hZHDX_t591_207tw591
2
select a.community_id, MIN(a.user_id) as user_id from t591.sale as a inner join t591_new.market_community_agent_bid_record as b on a.user_id = b.user_id inner j …(点击展开完整 SQL)
select a.community_id, MIN(a.user_id) as user_id from t591.sale as a inner join t591_new.market_community_agent_bid_record as b on a.user_id = b.user_id inner join t591_new.im_user_bind as im on im.im_uid=CONCAT(a.user_id,?) where a.community_id IN (?...) and b.start_time >= ? and b.end_time <= ? and b.status = ? and b.proc_status = ? and b.deleted = ? and a.status = ? and a.closed = ? group by a.community_id /* ms:tw591ms-community */;
1,9284.432.37hZHDX_t591_137,ZHDX_t591_181,ZHDX_t591_18tw591
3
SELECT mcrd.id, mcbr.period_id as ?, mcrd.record_id ?, if(mcbr.parent_id!=?,mcbr.parent_id,null) ?, mcrd.oid ?, mcrd.user_id ?, case mcrd.payment_type when ? th …(点击展开完整 SQL)
SELECT mcrd.id, mcbr.period_id as ?, mcrd.record_id ?, if(mcbr.parent_id!=?,mcbr.parent_id,null) ?, mcrd.oid ?, mcrd.user_id ?, case mcrd.payment_type when ? then ? when ? then ? end ?, mcrd.money ?, mcrd. type ?, mcrd.rank ?, mcrd.community_id ?, -- mc.name ?, ar.name ?, ase.name ?, case when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcbr.source=? then ? when mcbr.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source=? then ? when mcrd.source>=? and mcrd.source<=? then ? else mcrd.source end ?, mcrd.deleted ?, -- ,?、為已刪,?、未未刪 case mcrd.pay_status when ? then ? when ? then ? when ? then ? when ? then ? when ? then ? else mcrd.pay_status end ?, mcrd.created_at ?, mcrd.updated_at ? from t591_new.market_community_agent_bid_record_detail mcrd LEFT JOIN t591_new.market_community_agent_bid_record mcbr on mcrd.record_id=mcbr.id and mcrd.user_id=mcbr.user_id LEFT JOIN t591_new.market_community_bid_rules mcr on mcbr.community_id=mcr.community_id -- and mcbr.period_id=mcr.period_id LEFT JOIN t591_new.market_community mc on mcrd.community_id=mc.id left JOIN t591_new.area_region ar on mcr.regionid=ar.id left JOIN t591_new.area_section ase on mcr.sectionid=ase.id LEFT JOIN t591_new.market_community_agent_order mco on mcrd.oid=mco.id LEFT JOIN t591_new.market_voucher_use mvu on mcrd.user_id=mvu.user_id and mcrd.oid=mvu.oid and mvu.oid!=? LEFT join t591_new.market_voucher mv on mvu.voucher_id=mv.id LEFT join t591_new.market_voucher_config mvc on mv.config_id=mvc.id WHERE mcrd.created_at>=? and mcbr.parent_id!=? and (mcrd.created_at>=DATE_SUB(CURDATE(),INTERVAL ? DAY) or mcrd.updated_at>=DATE_SUB(CURDATE(),INTERVAL ? DAY));
15977.331.66hZHDX_t591_148bi
4select count(*) as aggregate from sale where status = ? and closed = ? and community_id = ? and kind IN (?...) and posttime >= ? /* ms:tw591ms-cdc */;3,1821.711.51hZHDX_t591_207tw591
5SELECT COUNT(*) AS total FROM t591_ivr.ivr_ext_service_call_t591 as a LEFT JOIN t591_ivr.ivr_ext_usr_number as b ON a.number = b.number AND a.send_id = b.send_id WHERE ? AND b.the_type=? AND b.the_id=? AND a.status IN (?...) AND a.start_time<=?;52310.191.48hZHDX_t591_113tw591
备份模式全天 44 条 / 1.56h,未触发深度分析(如条数环比异常翻倍再人工介入)。

触发深度分析的模式(条数>100 或 累计>30min,非备份,最多 8 个)

1. select id, name, checkstatus, deleted, build_purpose from t591_new.market_community FORCE INDEX(idx_region_section) where status = ? and deleted = ? and checkst —— 4,487 次 × 7.11s = 8.86h

select `id`, `name`, `checkstatus`, `deleted`, `build_purpose` from t591_new.market_community FORCE INDEX(`idx_region_section`) where `status` = '1' and `deleted` = '0' and `checkstatus` = '1' and `type` = '1' and `regionid` = '3' and `sectionid` = '44' /* ms:tw591ms-cdc */;
SELECT * FROM `t591_new`.`market_community` WHERE `status` = '1' LIMIT 10
#表访问类型使用索引候选索引预扫行数过滤后
1market_community❌ 全表扫描——3,508,91810.0%
ALTER TABLE `t591_new`.`market_community` ADD INDEX `idx_status` (`status`);

2. select a.community_id, MIN(a.user_id) as user_id from t591.sale as a inner join t591_new.market_community_agent_bid_record as b on a.user_id = b.user_id inner j —— 1,928 次 × 4.43s = 2.37h

select a.community_id, MIN(a.user_id) as user_id from t591.sale as a inner join `t591_new`.`market_community_agent_bid_record` as `b` on `a`.`user_id` = `b`.`user_id` inner join `t591_new`.`im_user_bind` as `im` on im.im_uid=CONCAT(a.user_id,"") where `a`.`community_id` in ('105035', '3695078', '3681594') and `b`.`start_time` >= '2026-09-14 00:00:00' and `b`.`end_time` <= '2026-09-14 23:59:59' and `b`.`status` = '3' and `b`.`proc_status` = '3' and `b`.`deleted` = '0' and `a`.`status` = '2' and `a`.`closed` = '0' group by `a`.`community_id` /* ms:tw591ms-community */;
SELECT * FROM `t591`.`sale` WHERE `start_time` >= '2026-09-14 00:00:00' LIMIT 10
#表访问类型使用索引候选索引预扫行数过滤后
1sale❌ 全表扫描——17,442,11633.33%
ALTER TABLE `t591`.`sale` ADD INDEX `idx_start_time` (`start_time`);

3. SELECT mcrd.id, mcbr.period_id as ?, mcrd.record_id ?, if(mcbr.parent_id!=?,mcbr.parent_id,null) ?, mcrd.oid ?, mcrd.user_id ?, case mcrd.payment_type when ? th —— 1 次 × 5977.33s = 1.66h

SELECT 
mcrd.`id`,
mcbr.period_id as '期数',
mcrd.`record_id` '竞价ID',
if(mcbr.parent_id!=0,mcbr.parent_id,null) '父竞价ID',
mcrd.oid '订单ID',
mcrd.`user_id` '会员ID',
case mcrd.`payment_type` when 1 then '竞价' when 2 then '调价' end '出价类型',
mcrd.`money` '(出价/调价)金额',
mcrd. `type` '竞价类型',
mcrd.`rank` '预排名',
mcrd.`community_id` '社区ID',
-- mc.`name` '社区名称',
ar.`name` '社区县市',
ase.`name` '社区乡镇',
case when mcrd.`source`=1 then '推荐' when mcrd.`source`=2 then '搜寻' when mcrd.`source`=3 then '收藏' when mcrd.`source`=4 then '上期' 
when mcrd.`source`=5 then '历史' when mcrd.`source`=6 then '续购' when mcrd.`source`=7 then '物件管理页' when mcrd.`source`=8 then '会员中心推荐社区弹窗' when mcrd.`source`=9 then '召集令活动页' when mcrd.`source`=10 then '企业号触屏' when mcrd.`source`=11 then '精准营销弹窗' when mcrd.`source`=12 then '物件刊登成功页' when mcrd.`source`=13 then '物件管理页顶部推荐' when mcrd.`source`=14 then '最新续购' 
when mcrd.`source`=15 then '优质社区推荐'
when mcrd.`source`=16 then '弹窗复购'
when mcrd.`source`=17 then '弹窗續費'
when mcrd.`source`=18 then '中古屋詳情頁PC端'
when mcrd.`source`=19 then '中古屋詳情頁觸屏端'
when mcrd.`source`=20 then '中古屋詳情頁APP端'
when mcrd.`source`=21 then '租屋詳情頁PC端'
when mcrd.`source`=22 then '租屋詳情頁觸屏端'
when mcrd.`source`=23 then '租詳情頁APP端'
when mcrd.`source`=24 then 'PC-会员中心优惠券'
when mcrd.`source`=25 then '触屏-会员中心'
when mcrd.`source`=26 then 'APP-会员中心'
when mcrd.`source`=27 then '四端-金牌专家版位'
when mcrd.`source`=28 then '四端-介绍页'
when mcrd.`source`=29 then '待办事项提醒续费'
when mcrd.`source`=30 then '待办事项体系到期复购'
when mcrd.`source`=31 then 'PC-现金券列表'
when mcrd.`source`=32 then '触屏-现金券列表'
when mcrd.`source`=33 then 'PC-领取成功弹窗社区推荐'
when mcrd.`source`=34 then 'PC-待使用弹窗社区推荐' 
when mcrd.`source`=35 then '物件管理页顶部推荐(物件推荐)'
when mcrd.`source`=37 then '曝光失败弹窗复购'
when mcrd.`source`=38 then '即将到期一键续购'
when mcrd.`source`=39 then '已到期一键续购'
when mcbr.`source`=40 then '即将到期一键续购-触屏'
when mcbr.`source`=41 then '即将到期一键续购-APP'
when mcrd.`source`=101 then '其他'
when mcrd.`source`=102 then 'pc金牌专家购买列表'
when mcrd.`source`=103 then '触屏金牌专家购买列表'
when mcrd.`source`=104 then 'PC物件管理页列表'
when mcrd.`source`=105 then 'PC弹窗引导'
when mcrd.`source`>=100 and mcrd.`source`<=200 then '自定义' else mcrd.`source` end '订单入口来源',
mcrd.`deleted` '是否刪除',  -- ,1、為已刪,0、未未刪
case mcrd.`pay_status` when 1 then '待支付' when 2 then '已支付' when 3 then '退款' when 4 then '取消' when 5 then '失败' else mcrd.`pay_status` end '支付状态',
mcrd.`created_at` '创建时间',
mcrd.`updated_at` '更新时间' 
from t591_new.market_community_agent_bid_record_detail mcrd 
LEFT JOIN t591_new.market_community_agent_bid_record mcbr on mcrd.record_id=mcbr.id and mcrd.user_id=mcbr.user_id 
LEFT JOIN t591_new.market_community_bid_rules mcr on mcbr.`community_id`=mcr.community_id -- and mcbr.period_id=mcr.period_id
LEFT JOIN t591_new.`market_community` mc on mcrd.community_id=mc.id 
left JOIN t591_new.area_region ar on mcr.`regionid`=ar.id
left JOIN t591_new.`area_section` ase on mcr.sectionid=ase.id 
LEFT JOIN t591_new.market_community_agent_order mco on mcrd.oid=mco.id 
LEFT JOIN t591_new.market_voucher_use mvu on mcrd.user_id=mvu.user_id and mcrd.oid=mvu.oid and mvu.oid!=0
LEFT join t591_new.market_voucher mv on mvu.voucher_id=mv.id
LEFT join t591_new.market_voucher_config mvc on mv.config_id=mvc.id 
WHERE mcrd.created_at>='2023-08-21' and mcbr.parent_id!=0
and (mcrd.created_at>=DATE_SUB(CURDATE(),INTERVAL 2 DAY) or mcrd.updated_at>=DATE_SUB(CURDATE(),INTERVAL 2 DAY));
SELECT * FROM `t591_new`.`market_community_agent_bid_record_detail` WHERE created_at>='2023-08-21' LIMIT 10
#表访问类型使用索引候选索引预扫行数过滤后
1market_community_agent_bid_record_detailrangeidx_created_atidx_created_at3,568,860100.0%

4. select count(*) as aggregate from sale where status = ? and closed = ? and community_id = ? and kind IN (?...) and posttime >= ? /* ms:tw591ms-cdc */; —— 3,182 次 × 1.71s = 1.51h

select count(*) as aggregate from `sale` where `status` = '2' and `closed` = '0' and `community_id` = '105035' and `kind` in ('6', '8', '9', '10', '24') and `posttime` >= '1788019200' /* ms:tw591ms-cdc */;
select count(*) as aggregate from `t591`.`sale` where `status` = '2' and `closed` = '0' and `community_id` = '105035' and `kind` in ('6', '8', '9', '10', '24') and `posttime` >= '1788019200' /* ms:tw591ms-cdc */;
#表访问类型使用索引候选索引预扫行数过滤后
1salerefidx_community_idposttime,idx_community_id6,7890.01%
ALTER TABLE `t591`.`sale` ADD INDEX `idx_status_closed_community__kind_posttime` (`status`, `closed`, `community_id`, `kind`, `posttime`);

5. SELECT COUNT(*) AS total FROM t591_ivr.ivr_ext_service_call_t591 as a LEFT JOIN t591_ivr.ivr_ext_usr_number as b ON a.number = b.number AND a.send_id = b.send_i —— 523 次 × 10.19s = 1.48h

SELECT COUNT(*) AS total FROM t591_ivr.`ivr_ext_service_call_t591` as a LEFT JOIN t591_ivr.`ivr_ext_usr_number` as b ON a.number = b.number AND a.send_id = b.send_id WHERE 1 AND b.the_type=8 AND b.the_id='105149' AND a.status IN('answer','busy','cancel','noanswer') AND a.start_time<='1789315199';
ALTER TABLE `t591_ivr`.`ivr_ext_service_call_t591` ADD INDEX `idx_the_type` (`the_type`);

6. select start_time, user_host, query_time, lock_time, rows_sent, rows_examined, db, sql_text from mysql.slow_log WHERE start_time >= DATE_SUB(NOW(), INTERVAL ? M —— 144 次 × 27.25s = 1.09h

select start_time, user_host, query_time, lock_time, rows_sent, rows_examined, db, sql_text from mysql.slow_log WHERE start_time >= DATE_SUB(NOW(), INTERVAL 5 MINUTE) AND start_time <= NOW()
ALTER TABLE `mysql`.`slow_log` ADD INDEX `idx_start_time` (`start_time`);

7. select * from t591.sale where status = ? and closed = ? and community_id = ? and room = ? and id != ? order by posttime desc limit ?; —— 37 次 × 89.39s = 55.1min

select * from `t591`.`sale` where `status` = 2 and `closed` = 0 and `community_id` = 34577 and `room` = 99 and `id` != 20559989 order by `posttime` desc limit 2;
select * from `t591`.`sale` where `status` = 2 and `closed` = 0 and `community_id` = 34577 and `room` = 99 and `id` != 20559989 order by `posttime` desc limit 2;
#表访问类型使用索引候选索引预扫行数过滤后
1sale⚠️ 全索引扫描posttimePRIMARY,idx_community_id6,1780.01%
ALTER TABLE `t591`.`sale` ADD INDEX `idx_status_closed_community__room` (`status`, `closed`, `community_id`, `room`);

8. select ep.sectid, valuation.valuation_price from user_house_source as valuation inner join market_ep_build as ep on ep.id = valuation.ep_source_id where ep.sect —— 581 次 × 3.84s = 37.2min

select `ep`.`sectid`, `valuation`.`valuation_price` from `user_house_source` as `valuation` inner join `market_ep_build` as `ep` on `ep`.`id` = `valuation`.`ep_source_id` where `ep`.`sectid` in ('145', '200', '302', '340', '488', '766', '3289', '3302', '8099', '4767', '4776', '2046', '4802', '2172', '7076', '4850', '3420', '15959', '4893', '3475', '10082', '7183', '4918', '3507', '4928', '16332', '3539', '7244', '4996', '3226', '7498', '3732', '7533', '5148', '5149', '5157', '7585', '5396', '5406', '5491', '5599', '5721', '6103', '6112', '6115', '6175', '6308', '6342', '8946', '5390', '2736', '6124', '6202', '856', '16841', '1246', '16483', '7043', '7753', '3794', '8413', '2164', '4437', '2923', '281', '1950', '14751', '7876', '684') and `valuation`.`created_at` >= '2025-08-30 00:00:00' and `valuation`.`created_at` < '2026-09-15 00:00:00' and `valuation`.`valuation_price` > '0' and `version` = '1' order by `ep`.`sectid` asc, `valuation`.`valuation_price` asc /* ms:tw591ms-house-resource */;
select `ep`.`sectid`, `valuation`.`valuation_price` from `t591_new`.`user_house_source` as `valuation` inner join `t591_new`.`market_ep_build` as `ep` on `ep`.`id` = `valuation`.`ep_source_id` where `ep`.`sectid` in ('145', '200', '302', '340', '488', '766', '3289', '3302', '8099', '4767', '4776', '2046', '4802', '2172', '7076', '4850', '3420', '15959', '4893', '3475', '10082', '7183', '4918', '3507', '4928', '16332', '3539', '7244', '4996', '3226', '7498', '3732', '7533', '5148', '5149', '5157', '7585', '5396', '5406', '5491', '5599', '5721', '6103', '6112', '6115', '6175', '6308', '6342', '8946', '5390', '2736', '6124', '6202', '856', '16841', '1246', '16483', '7043', '7753', '3794', '8413', '2164', '4437', '2923', '281', '1950', '14751', '7876', '684') and `valuation`.`created_at` >= '2025-08-30 00:00:00' and `valuation`.`created_at` < '2026-09-15 00:00:00' and `valuation`.`valuation_price` > '0' and `version` = '1' order by `ep`.`sectid` asc, `valuation`.`valuation_price` asc /* ms:tw591ms-house-resource */;
#表访问类型使用索引候选索引预扫行数过滤后
1valuationrefidx_versionidx_ep_source_id,idx_created_at,idx_version526,11916.66%
2epeq_refPRIMARYPRIMARY150.0%

逐条优化建议汇总

P 行 = 深析模式(指纹聚合,按全天累计耗时降序 P1 最大,是优化主战场);T 行 = 单条耗时 Top3 的一次性慢 SQL(多为 bi/导出查询,治理手段通常是限流/降频/移到从库,而非建索引)。
编号对象建议
P1t591_new.market_community(4,487×7.1s)补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; DDL: ALTER TABLE t591_new.market_community ADD INDEX idx_status (status);
P2t591.sale(1,928×4.4s)补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; DDL: ALTER TABLE t591.sale ADD INDEX idx_start_time (start_time);; JOIN 两侧列改为同类型直连(如int列配int列), 或新增冗余绑定列建索引
P3t591_new.market_community_agent_bid_record_detail(1×5977.3s)补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中
P4t591.sale(3,182×1.7s)补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; DDL: ALTER TABLE t591.sale ADD INDEX idx_status_closed_community__kind_posttime (status, closed, community_id, kind, posttime);
P5t591_ivr.ivr_ext_service_call_t591(523×10.2s)补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; DDL: ALTER TABLE t591_ivr.ivr_ext_service_call_t591 ADD INDEX idx_the_type (the_type);
P6mysql.slow_log(144×27.3s)补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; DDL: ALTER TABLE mysql.slow_log ADD INDEX idx_start_time (start_time);
P7t591.sale(37×89.4s)补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; 扩复合索引: 把其余 WHERE 等值列追加到现有索引尾部, 避免 10 万+ 行回表; DDL: ALTER TABLE t591.sale ADD INDEX idx_status_closed_community__room (status, closed, community_id, room);
P8t591_new.user_house_source(581×3.8s)补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; 缩小聚合/去重范围(补时间等过滤条件), 或预聚合到中间表/定时任务; 把 ORDER BY 列纳入复合索引, 或减小排序前扫描范围
T1Top1 单条最慢 2.34h,user=Security591 t591_new.market_ep_build补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; bi/导出类: 限流降频、移从库/离线跑, 避免高峰占用主库
T2Top2 单条最慢 2.28h,user=Security591 t591_new.market_ep_build补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; bi/导出类: 限流降频、移从库/离线跑, 避免高峰占用主库
T3Top3(同 P3 对象) 单条最慢 1.66h,user=bi t591_new.market_community_agent_bid_record_detail补索引(按 WHERE 等值列在前、范围列收尾建复合索引); 用 EXPLAIN 验证 key 命中; bi/导出类: 限流降频、移从库/离线跑, 避免高峰占用主库

*采集脚本 .agents/scripts/mysql_slow_prod_report.py,中间数据 outputs/slow_report_prod591_20260914.json;全程只读。*