본문 바로가기

DB

(5)
Mysql 인덱스에 대해서 저장 프로시저 하나를 돌리면서 인덱스의 중요성을 알게된 적이 있다. 그때 인덱스에 대해서 많이 찾아보고 알게된 것들이 많았는데 시간이 지날수록 금방 잊어버려서 다시 공부하는겸 인덱스에 대해서 정리해보려한다. 인덱스란 인덱스에 대해서 검색하면 항상 색인이라는 단어가 나온다. 실제로 색인은 영어로 index로 쓰이고 책에서 내용의 단어나 구절등의 위치가 몇페이지에 있는지 알려주는 정보의 목록인데, 개인적으로 책을 많이 읽지 않아서 그런지 색인이라는 단어가 굉장히 낯설게 느껴진다. 때문에 나처럼 책알못이라 색인이 와닿지 않는다면, 호텔의 x호 ~ x호는 왼쪽 x호 ~ x호 는 오른쪽으로 표시되어있는 화살표를 생각한다면 좀 더 와닿지 않을까 추측해본다. 방 호수를 의미하는 room_num이라는 컬럼에 인덱스를 ..
Mysql, MariaDB Incorrect string value 이모티콘 이모지 에러 푸핫에 맛집을 업로드 하면서 설명에 이모티콘을 넣었는데 컬럼에 데이터를 저장할 수 없다는 Incorrect string value 에러가 나왔다. 원인은 간단했다. 테이블에 설정되어있던 charset은 UTF-8이었는데 Mysql과 Mariadb의 경우 UTF-8은 3바이트 가변 인자로 구현되어 최대 3바이트 지원이지만 이모지 문자열이 UTF-8로 인코딩 되는 경우 4바이트가 필요하기 때문이다. 이런 문제 해결을 위해 2010년 3월에 가변 4바이트 자료형인 uf8mb4가 나오게 되었다. 따라서 테이블과 컬럼의 charset을 utf8mb4로 collation은 utf8mb4-unicode-ci로 변경하면 된다. 테이블 수정 쿼리 alter table 테이블명 convert to character set..
Mysql 문자열 나누기 SUBSTRING, SUBSTRING_INDEX Mysql의 문자열을 나누는 함수는 글자 수로 나누는 SUBSTRING, 구분자로 나누는 SUBSTRING_INDEX가 있다. SUBSTRING 사용 형태 SUBSTRING(문자열, 시작위치, 가져올 문자수) 3번째 인덱스인 가져올 문자수를 비워두면 문자열의 끝까지 가져온다. 시작위치가 음수라면 끝에서부터 역순으로 가져온다. SUBSTRING 예제 SELECT SUBSTRING('가나다라마바사임마', 3) > 다라마바사임마 SELECT SUBSTRING('가나다라마바사임마', -3) > 사임마 SELECT SUBSTRING('가나다라마바사임마', 3, 5) > 다라마바사 SELECT SUBSTRING('가나다라마바사임마', 3, 1) > 다 SELECT SUBSTRING('가나다라마바사임마', -3, 2..
MySQL 이벤트 스케줄러 등록 MySQL에는 이벤트 스케줄러가 있어서 등록한 이벤트를 주기적으로 실행할 수 있다. 보통 주기적으로 돌려야할 프로시저를 스케줄러에 이벤트로 많이 이용한다. 스케줄러는 event_scheduler 값이 ON 상태가 되어있지 않으면 동작 하지않는다. 쿼리로 쉽게 조회할 수 있고, 클라우드의 RDS라면 콘솔에서 확인이 가능할 것이다. 쿼리로 조회 SHOW variables LIKE 'event%' 쿼리 상태 수정 SET GLOBAL event_scheduler = ON이나 OFF AWS RDS 경우 RDS 메뉴 > 파라미터 그룹으로 가면 event_scheduler 검색으로 조회할 수 있고 수정도 가능하다. 스케줄러 이벤트 목록 SELECT SELECT * FROM information_schema.EVENT..
MongoDB 설치 - Window RDBMS에 익숙해진 나에게는 너무 낯선 nosql이다. www.mongodb.com/try/download/community MongoDB Community Download Download the Community version of MongoDB's non-relational database server from MongoDB's download center. www.mongodb.com msi파일 다운받는다. 혹시몰라서 인터페이스인 Compass도 설치하였다. 중간에 설치할건지 묻는 체크항목 있다. 몽고디비가 설치된 폴더로 이동해보면 (C:\Program Files\MongoDB\Server\4.4) readme파일과 bin폴더가 보인다. readme 파일을 메모장으로 열어서 대충 스윽 보면 mon..