查询导致巨大的CPU利用率和高延迟
P粉182218860
P粉182218860 2024-01-10 17:21:24
0
1
432

以下查询导致我的数据库环境出现巨大的 CPU 利用率和高延迟。 我尝试使用不同类型的索引来提高查询性能,但不幸的是任何索引都无助于提高性能。有没有建议重写查询以获得相同的结果。

query
SELECT kln.qsw, kln.mngy
FROM (
SELECT kln2.mngy, MAX(kln2.nonUnixjdjf) dm_hj
FROM mfh.view_mats kln2
WHERE kln2.jdjf <= '2022-10-19 10:47:25.000000' 
GROUP BY kln2.mngy
) pun_ghky
JOIN pun_ghky.mngy = kln.mngy);

P粉182218860
P粉182218860

全部回复(1)
P粉610028841

此索引对 view_mats 有益:INDEX(mngy, nonUnixjdjf)。也就是说,对于 trip_dstyINDEX(mngy, jdjf)

并且(可能)删除idx_n1,因为它仅包含该索引的开头。

(我并不完全精通列存储;上面的建议是针对 InnoDB 索引;它可能适用于此。)

一般来说,Float 和 Double 上的 (m,n) 是无用的,并且可能导致舍入错误。 double(20,10) 可能应该是普通的 doubleDECIMAL(20,10)

LIMIT 10000——您真的向客户端交付了那么多行吗?铲掉这么多也是一个性能问题。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板