본문 바로가기
[DB] 인덱스가 왜 중요한가!! 최근에 회사에서 프로그래밍 로직상 이렇게 오래 걸릴리가 없는데 대체 왜 db에 접근해서 처리하는데 시간이 몇시간이나 걸리지?? 라는 이슈가 있었다. 그래서 해당 함수의 최초 시작 지점부터, sp 내용까지 다 훑어 보았고 의심스러운 부분을 찾았다. UPDATE USER_RANKING SET nextStartScore = 점수 WHERE userNumber = 유저고유번호 AND seasonNumber = 시즌 번호; // 아래 테이블은 다 없는 테이블입니다, 설명을 위해 비슷하게 추가했어요 간단히 설명하면 유저고유번호, 시즌 번호를 조건을 걸어서 데이터를 찾아 점수를 업데이트 하는 쿼리이다. 우리 게임상 한 시즌이 지날수록 데이터양이 점점 늘어나는 구조였고, 이미 해당 데이터에 20만건이 들어있는 상황이긴.. 2024. 3. 7.
[자바스크립트] 객체A에서 객체B를 복사 후 객체 B의 특정 프로퍼티 삭제 객제A의 값을 객체B에 전체 복사해서 사용하되 특정 변수는 빼고 사용 하고 싶을때가 있다. 그럴때 단순히 = 대입연산자를 사용하여 처리하면 서로 다른 객체 A와 B가 같은 곳을 참조 하고 있기 때문에 둘 중 하나의 객체 값만 변경되도 둘 다 영향을 받는다. [ 1. 영향 받는 코드 ] let objA = { id:"testID", pw:"testPW1234!" }; let objB = objA; console.log("objA:"+JSONbig.stringify(objA)); console.log("objB:"+JSONbig.stringify(objB)); // delete 연산자를 사용하여 프로퍼티 삭제 delete objB.pw; // 둘다 삭제됨! console.log("objA:"+JSONbig... 2024. 3. 4.
[mysql] INFORMATION_SCHEMA 관련 정리 INFORMATION_SCHEMA 는 각 mysql 인스턴스안에 있는 '데이터베이스'이다. 해당 MySQL 서버가 유지하는 다른 모든 데이터베이스에 대한 정보를 저장하는 곳입니다. The Information_schema 데이터베이스는 몇몇의 읽기전용 테이블을 포함합니다. 사실 그것들은 View이고, 테이블은 아닙니다. 그래서 그것들과 관련된 파일들은 없습니다. 그리고 트리거 셋팅도 불가능합니다. 또한 데이터베이스 파일구조도 존재 하지 않습니다. 당신은 INFORMATION_SCHEMA 를 SELECT(조회)만 가능하고 삽입, 삭제 , 변경은 불가합니다. 요약) INFORMATION_SCHEMA 는 DATABASE의 정보를 저장하는 VIEW이며 오직 SELECT만 가능하고, INSERT, DELETE, .. 2024. 2. 26.
[mysql] 현재 시간, 현재시간 unixtime, 특정시간, 특정시간 unixTime 쿼리 SELECT NOW(), UNIX_TIMESTAMP(), DATE_ADD(NOW(), INTERVAL 7 DAY), UNIX_TIMESTAMP( DATE_ADD(NOW(), INTERVAL 7 DAY)); - NOW() : 현재 시간 출력 함수 - UNIX_TIMESTAMP() : 현재 시간 unixTime으로 출력해주는 함수 - DATE_ADD () : 시간을 더해 주는 함수 : DATE_ADD(NOW(), INTERVAL 7 DAY) -> 현재 시간에 7일 더해서 출력 - UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 7 DAY)) 현재 시간에 7일 더한시간을 UNIXTIME으로 변환해서 보여줌 ** UNIXTIME이란? - UNIX 시간(Unix time)은 협정 세계시(U.. 2024. 2. 16.
게임 클라이언트 프로그래머 ? 게임 서버 프로그래머 ? 개발자로 취업한지 얼마 안됐을때 친구들이 가끔 뭐하냐고 물어본적이 있었다. (지금은 아님) 나 : "나 게임 서버 프로그래밍해~" 친구들 : "그게 뭔데??" 그럴때마다 친구들한테 최대한 쉽게 설명하면서 나 : 너가 게임을 시작할때 로그인하지?? 그때 뺑뺑이 돌고 로그인 처리하지?? 그리고 너가 게임에서 획득하는 아이템같은거 저장하고 데이터 관리도 해주고 친구랑 연결도 해주고 그런거야" 대부분의 친구들 : "아 그래 신기한거하네" or 특이 케이스 친구 : " 그럼 게임 화면은?? 모바일 다운로드 그런거는?? " 나 : 그런거는 클라이언트 프로그래머가 하는건데 너가 하는 게임의 캐릭터 움직이기, 전투 등등 화면상 보이는걸 다 처리해 라며 설명해준적있었다. 아마 게임 잘 모르는 친구들한테는 이 설명이 쉬운.. 2024. 1. 8.
[mysql] 특정 시간을 특정 타임존으로 확인하는 쿼리 CONVERT_TZ(시간값, '기준 타임존', '변경할 타임존') - CONVERT_TZ 함수를 사용하면 시간 데이터를 원하는 타임존 값으로 볼 수 있다. - 시간값 자리에 변경할 시간을 넣으면, 해당 시간을 기준 타임존에서 변경할 타임존의 시간으로 보여준다. 쿼리 SELECT now() as KST, CONVERT_TZ(now(), 'Asia/Seoul', 'UTC') as `UTC`, CONVERT_TZ(now(), 'UTC', 'America/Santiago') as `SantiagoTime`; 결과 설명 - 현재 시간을 한국시간, UTC 시간, 미국/샌티아고 시간으로 조회하는 쿼리이다. - now() as KST : 현재 시간을 한국시간으로 - CONVERT_TZ(now(), 'Asia/Seoul.. 2023. 12. 29.