Database (9) 썸네일형 리스트형 서로 다른 Collation으로 인한 JOIN 성능 저하 사례 문제 상황최근 운영 환경에서 단순한 JOIN 쿼리 하나가 비정상적으로 느리게 동작하는 현상을 경험했습니다.인덱스가 정상적으로 걸려 있음에도 불구하고, 실행 시간이 수십 초까지 치솟는 상황이었습니다. 분석 끝에 원인은 테이블 간 Collation 불일치였고, utf8mb3 와 utf8mb4 의 차이가 문제를 일으키고 있었습니다.이번 글에서는 그 원인과 해결 방법을 정리합니다. SELECT dh.msg_group_id AS msgGroupId, dh.reg_user_id AS regUserId, um.msg_subject AS msgSubject, um.msg_content AS msgContent, um.recv_group.. ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' 회사에서 MariaDB 10.6 을 Mysql8 로 마이그레이션 해야해서, 데이터 덤프로 옮기고 있었다가 에러를 마주했다. ERROR 1231 (42000): Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER' 문법이 달라져서 NO_AUTO_CREATE_USER 라는 아이가 없어서 그렇다. 그 부분을 제거 한후 set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,N.. Command 'mongo' not found 몽고디비 몽고디비 쉘 접속이 안됀다.. 원인이뭘까. 일주일 내내 엄청나게 찾아봤다...... 원인. mongodb 버전 6.0 이상을 사용하는 경우 mongodb 셸 에 들어가기 위해 사용해야 하는 명령이 mongo 에서 mongosh 로 변경됨... mongo 로 쳐서 들어가는게 아니라 mongosh 로 해야함.. 끝... MongoDB active failed 문제( result- exit-code) sudo systemctl status mongod 확인해보니, 계속 Active: failed 만 발생하고, 몽고디비가 실행이 안됍니다. 그리고 아래의 오류메세지를 직면합니다. sudo systemctl start mongod 암만 mongod 실행시켜도 무반응으로 Active 상태가 바껴있지않습니다. 이럴때 해결책. sudo vi /var/log/mongodb/mongod.log {"t":{"$date":"2020-10-07T05:13:22.639+00:00"},"s":"E", "c":"NETWORK", "id":23024, "ctx":"initandlisten","msg":"Failed to unlink socket file","attr":{"path":"/tmp/mongodb-27017.sock".. MongoDB 설치시 Command not found: mongo 몽고 DB 설치를 했다. brew tap mongodb/brew // mongodb 다운받을수 있는 목록확인. brew install mongodb-community // mongodb-community 다운 (홈브루 통해서) 몽고 DB를 실행했다. brew services start mongodb-community //mongodb 서버 실행 brew services stop mongodb-community //mongodb 서버 종료 몽고디비 서버 기본 포트는 27017 이다. It looks like you are trying to access MongoDB over HTTP ont the native driver port. 해당 포트로 들어가서 확인해보면, 저런 문구를 볼거다. 그럼 서버 제대로 .. SQL 의 COALESCE 함수 사용법 실무에서 개발하던 도중. 조인해온 테이블의 데이터의 총합계를 구해야 하는 상황이였다. 조인해온 테이블의 데이터가 없을경우 SUM은 결국 NULL이 발생한다. 이를 대비하여 SQL 의 COALESCE 함수를 활용하였다. COALESCE 함수에 대해 알아보자. COALESCE 는 인자로 주어진 컬럼들 중 NULL이 아닌 경우의 값을 리턴한다. SELECT COALESCE(NULL,1,2); //result : 1 SELECT COALESCE(NULL,NULL,2); //result : 2 SELECT COALESCE(1,2,NULL); //result : 1 COALESCE의 () 로 감싼 안의 인자들을 첫번째자리부터 비교를 하며, NULL 을 만나면 다음 자리수로 미룬다. 미루다가 NULL 이 아닌값을 만.. Mysql workbench에서 데이터 갑자기 BLOB 로 나타나는 현상 해결법 원인 BLOB(Binary Large Object) 타입은 65535 바이트 이상을 차지한다. mysql workbench에서는 높은 바이트를 차지하는 타입을 BLOB 로 블락처리 해논다. 해결(BLOB 말고 데이터로 보고싶다) Treat BINARY/VARBINARY as nonbinary character string 체크 후 OK MongoDB 세미나 발표PPT 자료 회사에서 전 직원 대상으로 MongoDB 세미나 발표한적이 있음. MongoDB를 공부하는 분이라면 만들어 놓은 발표 PPT자료를 보고 도움이 됐으면 해서 파일을 올려 놓도록 하겠음. 끝. 이전 1 2 다음