Posts

스몬봇 업그레이드 (덱 조회 쿼리 수정)

avatar of @realmankwon.scot
25
@realmankwon.scot
·
0 views
·
1 min read

안녕하세요 @realmankwon입니다.

어제 스몬봇 의 덱 쿼리를 변경한 후로 실행은 잘 되는데 한번씩 다음과 같이 덱을 제출하지도 못하고 진 경기가 많았습니다.

확인을 해보니 대부분 마나가 40이상이더군요.

뭔가 뇌리를 스치는 것이 있었습니다.

바로 제가 가진 덱의 마나합이 배틀의 마나 차이와 3 차이 나는 것만 조회하게 한 것이 화근이었습니다.

덱의 개수를 조절하기 위함이었지만 마나 40 이상의 경우 3 이상이 차이나는 덱이 많을 수 있기 때문입니다.

특히나 99가 나오는 경우는 무조건 덱을 제출할 수가 없었습니다.

그래서 오늘 쿼리를 다시 한번 수정하여 상위부터 200개만 가지고 오도록 수정하였습니다.

진작에 이렇게 했어야 했는데 mysql 의 문법을 잘 몰라서 그런 기능이 있는지 몰랐네요.

오라클에서는 rownum 을 이용하여 간단하게 처리했었는데 mysql 에서는 rownum 이라는 기능이 없어서 억지로 가상의 넘버링 테이블과 조인시켜서 가지고 오곤 했습니다.

찾아보니 그렇게 처리하면 속도가 더 느리다길래 마나의 차이로 쿼리를 작성했었습니다.

오늘 검색을 해보니 limit count 를 제일 마지막에 넣어주면 그냥 끝이더군요.

현재는 상위 200개만 가지고 오도록 수정하여 잘 돌아가고 있습니다.

오늘이 지나면 하이브로 이전하는 스몬.

혹시나 해서 하이브에서 스몬봇을 돌렸더니 에러는 나지 않지만 게임이 진행이 안되는군요.

아직까지 이전을 하지 않아서 그런것인지...

내일이 되어봐야 알 것 같습니다.

언제쯤 서버를 꺼야할지 모르겠군요.

일단 이번 시즌 보상까지는 받고 서버가 이전했으면 좋겠습니다. ㅎ