본문 바로가기

분류 전체보기300

Mysql 동적쿼리 결과값 반환 Mysql에서 동적쿼리를 사용하면서 Row_Count가 동작을 안하길래 당황했다.찾아보니 해결책은 위치를 execute 밑에 놔야 한다는 것 123456789101112set @query_string = concat("update user_item_inventory", " set ", $update_coulmn, " = ", $update_coulmn, " - ?", " where user_key = ? and group_row_index = ? and ", $update_coulmn, " >= ", $item_count);prepare stmt from @query_string; execute stmt using @item_count, @user_key, @group_row_index; if(1 > R.. 2019. 3. 20.
Mysql 레코드 값 데이터 대/소문자 구분 서비스 Key를 만드려고 하는데 10~12자로 해달라고 한다.특수 문자를 제외한 정보를 만들기 위해 다음과 같이 설정. 여기서 B라는 항목이 Binary정보인데. 바이너리 형태로 형식으로 저장하도록 한다. 123456789CREATE TABLE `account` ( `user_key` BIGINT NOT NULL AUTO_INCREMENT, `uuid` CHAR(40) NOT NULL, `service_serial` CHAR(12) BINARY NOT NULL, PRIMARY KEY (`user_key`), UNIQUE INDEX `service_serial_UNIQUE` (`service_serial` ASC))ENGINE = InnoDBDEFAULT CHARACTER SET = utf8; cs 대신 .. 2019. 3. 13.
16# 프로시저에서 DataTable 대신 사용 방법. C#에 있는 DataTable은 너무 많은 정보를 들고 있어 무겁기에 비슷하지만 더 가벼운 형식으로 구현. MySqlTable Class 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100public class MySqlTable { public List Columns { get; set; } public string AddColumn { set { if (Columns.Contains(value) == true) .. 2019. 3. 11.
스테이지 스코어 저장. 유저 게임 STAGE별 점수 데이터가 필요하는 요청.STAGE는 현재 300개가 존재한다. 문제1. 유저 한명당 300개의 Column을 집어 넣을 것인가.문제2. 게임을 자주 하지 않거나 아예 안하는 유저들이 존재.문제3. 테이블이 커지면 인덱스도 커진다. 속도 저하.문제4. Insert를 자주 일어나게 할것인가. 처음에 Insert 후 Update를 사용할 것 인가. 생각1. 그러면 유저 한 명당 6개의 레코드와 50개의 필드로 나눌 것인가. 아니면 더 증가 가능. 10 x 30생각2. 100만 레코드로 조금씩 조회가 느려진다면. 10만명이 게임을 하면 100만 레코드.생각3. 테이블을 미리 나눈다면. 어떻게 관리할 것인가. 결론1. STAGE 클리어를 전부 하지 않으니 해당 스테이지를 업데이트할 때.. 2019. 3. 11.