해결된 질문
작성
·
287
0
안녕하세요 정말 강의 잘들고 있어요 감사해요 사랑해요 파트 1000000000까지 만들어주세요 ㅠㅠ! 제월급 여기다 다쓸께요
예전부터 궁금한게 있었는데 mssql은 unsinged를 지원하지 않는다고 알고 있는데 정말인가요?
그러면 게임서버 코드에서는 unsigned인 특정데이터를 사용하고 DB에 저장해야 한다고하면 이거는 어떻게해야하나요?
그냥 singed 도 맥시멈같이 엄청 크기때문에 뭐 상관없어 거기까지 가겠어? 라고 생각하기에는.. mmorpg게임이 오랫동안
서비스하면 수치가 언젠간 끝에 다다를건데 음.. 보통 실무에선 어떻게 처리를 하나요 저런경우에는?
그냥 서버 코드에서도 unsigned를 사용안하게 제약을 걸어버리나요? 근데 보통 db에 저장되는 변수는 클라에서도 쓰고
서버에서도 쓰는경우가 많을텐데 클라 서버 둘다 제약을 걸어버린다? 건다해도 실무자들이 잘지키지도 않을것 같은데..
음 잘 모르겠어요 mysql은 unsigned를 지원해서 상관없을것 같은데 mssql같은경우 unsinged어떻게 처리하는지 궁금합니다!
답변 1
2
MSSQL에서 unsigned 지원하지 않습니다만,
그게 크게 문제가 되는 경우는 없습니다.
우선 DB에 저장된 데이터를 긁어서
서버 쪽 메모리에서 사용할 때는 얼마든지 재가공해도 되기 때문에,
필요하다면 그때 unsigned로 캐스팅하면 그만이죠.
(그런데 사실 코드에서도 굳~이 unsigned로 사용하지도 않습니다..
번거롭기도 하고, 오히려 간접적인 캐스팅 문제도 유발할 수 있으니)
그리고 int64는 생각 이상으로 어마어마하게 큽니다.
int32 Max만 해도 21.4억인데
이걸 다 사용할 게임은 거의 없을 것 같습니다.
int32도 이런데 int64 Max는 억/조를 넘어서,
경 단위도 넘어가니 사실상 현실적으로 무한대라고 봐야 합니다.