mysql

개발/Database

MySQL 하기 쉬운 실수와 Tip에 대한 소개

MySQL 사용하고 있지만 잘 모를 수 있는 부분들과 간단한 Tip에 대한 단편적인 내용들에 대한 정리한 내용이다. 정리 내용 # 인덱스 생성시 유니크 인덱스로 생성할 수 있는데, 유니크 인덱스는 제약사항일 뿐이다. 특별히 성능이 다른 인덱스보다 좋은 것은 아니다. (동일 컬럼 Non-unique 인덱스와 비교했을 때) MySQL은 특이한게 모든 인덱스의 끝에 PK 컬럼이 추가된다. 그래서 많은 키로 PK를 구성하는게 좋지 않다. PK를 구성하는 컬럼이 많다면 auto increment 컬럼을 PK로 설정하고 필요 시 다른 인덱스를 추가하는게 더 나은 선택이 될 수 있을 것 같다. # 단일 컬럼 인덱스는 잘못된 설계인 경우가 많다. 되도록이면 컬럼을 중첩시켜 인덱스의 갯수를 적게 유지하는 것이 좋다. #..

개발/Database

MySQL Enum에 대한 정리

개념 MySQL Enum 타입은 Java enum 타입과 비슷한 유형이다. 컬럼 정의 시 다음과 같이 enum 컬럼에 들어갈 수 있는 항목들을 정의한다. CREATE TABLE shirts ( name VARCHAR(40), size ENUM('x-small', 'small', 'medium', 'large', 'x-large') ); enum 컬럼도 empty string이나 null값 삽입 가능하고 empty string은 유효하지 않은 값으로 취급된다. enum 항목이 없어지면 기존에 있던 삭제된 그 항목을 가지고 있던 컬럼값은 유효하지 않은 상태(empty string)로 변경된다. 다음과 같이 index값을 가지고 올 수 있다. index는 enum 정의 시 해당 항목의 위치값이다. SELECT..

bebeside77
'mysql' 태그의 글 목록