MYSQL 쿼리 튜닝? DB설계 ? 문제 0 5 941

by bbugge [DB 모델링/설계] [2018.08.02 13:24:15]


문제 해결됐습니다.

by 아발란체 [2018.08.02 15:34:06]

복잡하네요.. ㅠㅠ

 

첫 번째 질의문을 보고 추측을 하면

100위 위치 코인이 리스트에 없다는 단서는 

속성명으로 봤을 때 rank 가 여기에 해당하는 것 같고 rank가 언급된 coin_info 쪽 테이블과 관계가 있는 것으로 보이고 

조건절 max(input_date)로 coin_info에 랭크100위가 분명 있는데 조회가 되지 않는다면

한가지 이유가 도출이 될 것 같습니다.

coin_last_updated = info.last_updated 요 조건으로 필터링 

아.. on절이 left outer 조인이 아니고 inner 조인이기 때문에

coin테이블에서 conin_state = 0으로 나온 결과 레코드셋에 있는 데이타에 coin.coin_id 값으로

랭킹 100위를 필터링 할 수 있을 수도 있습니다.

위 2가지 조건중 하나로 걸렸을 것 같습니다.

2번째 방법은 다른 질의고... 중첩서브쿼리보다 앞선 인라인뷰로 선행 집합을 줄여서 풀이하는 것이 성능이 좋을 것 같습니다.

 

 


by bbugge [2018.08.02 16:08:19]

답변 감사합니다~!!

그런데 질의문을 날렸을 때 100위가 결과 리스트에서 빠진다는 것이 아니라 api에서 받아올 때 100위가 빠진다는 것입니다.

그래서 각 코인에 대한 last_updated의 최신 날짜를 비교해서 가져와야 할 것 같은데 속도가 안나오네요 ㅜㅜ


by 아발란체 [2018.08.02 16:44:52]

전제 조건이 너무 이해하기 어렵습니다. ㅠㅠ

A테이블이 이런식으로 샘플 데이타가 들어 있고

B테이블에 이런식으로 샘플 데이타가 있는데

최종 이런식으로 보였으면 좋겠다 식으로

표 형태로 각각 올려주심 보다 빠르게 답변 드릴 수 있을 것 같습니다.


by bbugge [2018.08.03 15:51:16]

해결했어요!! 답변 너무 도움 되었습니다~!


by 아발란체 [2018.08.09 15:10:58]

막상 풀이하고 보니 위 내용이 전혀 도움이 안되었던 것 같습니다.

풀이 내용 이메일로 전달드렸습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입