안녕하세요.
게임 개발 도중에 궁금한점이 있어서 문의드립니다.
혹시 인벤토리에서 장비를 강화를 할경우 인벤토리가 하나의 테이블로 묶여서 저장을 하는데 이때
장비 하나를 강화할경우 인벤토리를 전부 저장을 할경우 과한 콜수가 생길수있는데
해당 테이블안에 데이터가 하나만 바뀔경우 이것만 저장하여 콜수를 줄이는 기능이 혹시 있나요??
안녕하세요.
게임 개발 도중에 궁금한점이 있어서 문의드립니다.
혹시 인벤토리에서 장비를 강화를 할경우 인벤토리가 하나의 테이블로 묶여서 저장을 하는데 이때
장비 하나를 강화할경우 인벤토리를 전부 저장을 할경우 과한 콜수가 생길수있는데
해당 테이블안에 데이터가 하나만 바뀔경우 이것만 저장하여 콜수를 줄이는 기능이 혹시 있나요??
안녕하세요 개발자님,
뒤끝의 데이터 저장은 row 단위로 이루어지며,
row 내 특정 컬럼만을 조회/수정한다 할지라도 해당 row 데이터 전체를 처리하는것과 동일하게 처리량이 발생합니다.
호출 요금은 api 호출을 기반으로 하기에 호출요금 자체는 1회에 해당하나,
row 크기에 따라 DB 처리량이 발생하게되므로 테이블 row 데이터 크기가 클 수록 그 비용은 증가하게됩니다.
이를 최적화 하고자 한다면 row 데이터의 크기를 최적화 하는 방향으로 설계해 주셔야 합니다.
결국 인벤토리 안에 많으 아이템 정보가 들어있을 경우 아이템 하나만 갱신을 하더라도 전체적으로 갱신이 된는것이고 따로 하나씩 하는 방법은 없다는 것이죠 ?
네, 맞습니다.
row 를 기준으로만 처리되는 점 참고하여 이용해 주시면 감사하겠습니다.
row 기준을 처리된다는게 무슨 뜻인가요 ?
게임정보의 테이블을 뜻하는건가요 ?
말씀드린 row 기준 처리란,
데이터베이스 테이블에서 한 줄(레코드) 단위로 데이터를 조회/수정한다는 의미 입니다.
즉 테이블을 전체적으로 수정을 하는데 여기에서 비용은
테이블에 줄에따라 정해진다는거죠 ?
네, 맞습니다.
호출을 통해 조회 또는 수정되는 Row 전체의 데이터 크기를 기준으로 DB 처리량이 발생합니다.