쿼리문 진행 시 데이터 호출 속도가 개선 방법이 있을까요? 채택완료

 

#, (select ifnull((select timestampdiff(MONTH, T11.R_D ,T1.R_D) AS DIFFREGTIME from tb_1 T11 WHERE T11.H = T1.H = T1.G_D  < T1.R_D order by T11.R_D desc limit 1),-1)) AS H_COUNT

 

, (select ifnull((select timestampdiff(DAY, T11.R_D ,T1.R_D) AS DIFF2REGTIME from tb_1 T11 WHERE T11.H = T1.H = T1.G_D  < T1.R_D order by T11.R_D desc limit 1),-1)) AS H2_COUNT

 

 

데이터에 날짜가 있는데, 동일한 데이터가 있을 때 등록한 날짜를 기준으로 차이 개월 수를 표시하는 쿼리문을 진행하려고합니다 ㅠㅠ 

 

만약, 1월 1일날 A가 등록을 했고, 같은 A가 3월1일날 한번더 등록이 되었으면 

3월1일날 등록한 데이터에 2개월 전이라고 보여지도록 하려고 합니다. 근데 위 쿼리문으로 날릴 때, 잘 표현은 되는데, 속도가 너무 느린 상태여서 참 어렵네요.... 해결점이 있을까요?

 

두번째 문법 앞에 #을 붙이면 속도는 빠르게 진행되는데, 2개월전 이라는 부분들이 처리가 안되고 값이 없네요 ㅠㅠ

답변 2개

채택된 답변
+20 포인트

아예 데이터 등록시에 이전 등록한 날과의 차이를 기록해버리면 안되나요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

것도 하나의 방법이겠지만, 많은양의 데이터다 보니, 일일히 어떤게 중복인지 확인하기에는 시간소요가 너무많이 되어서요
그래도 전체 읽는 쿼리때마다 로드 걸리는것보다 데이터 작성시 체크한번해서 적어 넣는게 더 나을건데요.

댓글을 작성하려면 로그인이 필요합니다.

가능하면 sub-query를 줄여야 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고