int 형으로 전화번호를 적재하는 컬럼을 생성하고, 전화번호 01012345678 을 저장하면 1012345678 로 변환되어 저장된다. 그래서 보통 데이터 타입을 varchar 로 선언하는 경우가 많은데, zerofill 설정을 해주면 값이 없으면 공백을 0으로 채워주기 때문에 01012345678가 정상적으로 출력된다. 그리고 전화번호는 절대 음수가 될 일이 없으므로 UNSIGNED-ZEROFILL 으로 설정해준다. 예시 : alter table user modify column number int(11) unsigned zerofill not null; 이 방식으로 하면 vachar 보다 메모리를 절약할 수 있어서 효율적이다.
nginx + docker + ec2 배포 과정은 올려두었으니 생략하고 진행하겠습니다. 1. aws 도메인 등록페이지에서 도메인을 구입합니다. 2. Route 53 > 호스팅 영역 > 호스팅 영역 생성 순으로 진행합니다. 아래 설정대로 하고 생성완료를 누르시면 됩니다. 등록된 도메인으로 통신테스트를 해보면 정상적으로 등록된걸 확인할 수 있습니다. 3. 로드밸런서를 생성합니다. EC2 > Load balancers > Select load balancer type 저는 Application Load Balancer 옵션으로 진행하겠습니다. 상황에 맞게 선택해서 진행하시면 됩니다. 설정은 아래 이미지를 참고해주세요. 4. 보안그룹은 아래 형식으로 만들어둔 보안그룹으로 선택하였습니다. https를 허용해주는 ..
1. 데이터베이스 이전시킬 때, 중간에 끊기는 숫자가 있으면 그 숫자부터 다시 센다. (데이터가 많을때, 예를 들면 1~100까지 데이터가 있었다고 치고, 52가 없는 상태면 새로 이전하는 db에서 데이터가 새로 들어올 때, 101번을 안매겨주고 52번을 매겨준다. 그 다음에 101번을 매겨줘야 하는데 53번을 매겨준다. 근데 53번은 이미 있으니 에러를 밷는다.) 2. 카운트가 1억 정도까지 가면 index 메모리 낭비가 심해진다.
데이터가 많아지면 mysql에 부하가 걸리므로 파티션을 나눠줘야 한다. MySQL에서는 4가지 파티션 종류를 지원한다. - Range 파티션 - List 파티션 - Hash 파티션 - Key 파티션 Range 파티션 (출처 : https://hoing.io/archives/8527) 파티션 키의 연속된 범위로 파티션을 정의 하는 방식 이며 가장 일반적으로 사용 되는 파티션 종류 입니다. MAXVALUE 파티션을 이용해 정의 되지 않은 값의 범위의 키 값을 저장을 하게 됩니다. Range 파티션에서 NULL은 어떤 값보다 작은 값으로 간주 됩니다. 날짜 컬럼의 값으로 파티션 할 경우 다음의 예시 를 주의 해야 합니다. - UNIX_TIMESTAMP() 이용한 변환 식을 파티션 키로 사용 - 날짜를 문자열로..