programing

쿼리로 인해 CPU 활용률이 높아지고 지연 시간이 길어짐

padding 2023. 7. 12. 22:20
반응형

쿼리로 인해 CPU 활용률이 높아지고 지연 시간이 길어짐

다음 쿼리로 인해 데이터베이스 환경에서 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);

이 지수는 다음에 도움이 될 것입니다.view_mats:INDEX(mngy, nonUnixjdjf)즉, 의 경우trip_dsty:INDEX(mngy, jdjf).

그리고 (아마도) 떨어집니다.idx_n1이 인덱스의 시작 부분만 포함하기 때문입니다.

(Columnstore에 대해 잘 알지 못합니다. 위의 조언은 InnoDB 인덱싱을 위한 것입니다. 여기에 적용될 수 있습니다.)

일반적으로,(m,n)Float 및 Double은 유용하지 않으며 반올림 오차로 이어질 수 있습니다. double(20,10)아마도 평범해야 할 것입니다.double또는DECIMAL(20,10).

LIMIT 10000정말 그렇게 많은 행을 고객에게 전달하는 겁니까?그만큼 삽질을 하는 것도 성능 문제입니다.

언급URL : https://stackoverflow.com/questions/74124189/query-causing-huge-cpu-utilization-and-high-latency

반응형