반응형
바로여기
- 가끔 create 문을 치려고 보면 너무 뭔가 더 간편한 방법이 없을까 싶다
- .... 설정하나하나 하는것도 체크체크 해야한다 ...
- 테이블명이랑 이것저것 ,,,,자동으로 클릭 한방에 설정해서 딱 SQL 나오게 해주는 사이트 없나 ?? 찾아봤더니 있다!!!
https://wtools.io/generate-sql-create-table
Create table - Online MySQL Generator | WTOOLS
Do you find this tool useful? Then share it with your friends or colleagues. This will help us to make our free web tools better.
wtools.io
Engine = 디폴트 / InnoDB / MyISAM
InnoDB
- MySQL 5.5 버젼 이후에는 InnoDB를 기본 스토리지 엔진으로 사용
- - InnoDB는 MySQL의 데이터베이스 엔진입니다. InnoDB는 트랜잭션을 지원합니다. 그렇기 때문에 트랜잭션 세이프 스토리지 엔진입니다.
- - 다수의 사용자가 동시 접속을 할 수 있고, 대용량의 데이터를 처리할 수 있습니다. 데이터 테이블과 인덱스를 테이블 스페이스에 저장을 하고 있고, 테이블 스페이스는 파일과 파티션으로 구성되어 있습니다.
- - 논리적으로 장애 복구를 수행합니다.
- - 대용량 처리를 하게 된다면, 순간적으로 많은 자원을 소모합니다
- InnoDB는 PK를 기준으로 클러스터링 -> 보조 Index보다 PK를 우선적으로 탐색
MyISAM
- MyISAM은 Table과 Index를 각각 다른 파일로 관리
- Read Only기능이 많은 서비스일 수록 MyISAM엔진이 효율적
1. MyISAM
- 한번의 대량의 isnert를 하는 배치작업.
- 읽기위주의 간단한 작업.
- 전문검색 필요.
- 트랜잭션 x 데이터복구 x
- 블로그등 비교적 작은 웹
2. InnoDB를 고려 해야하는 경우.
- order by등 정렬이 있는경우
- 트랜잭션 관리가 필요.
- 대용량의 데이터를 컨트롤.
- insert updater delete 등이 빈번하게 발생하는 경우(Row-Level locking 때문에)
- 복구가 필요할 경우
- 은행 또는 크고 복잡한 웹
출처 :https://unordinarydays.tistory.com/159
Name = 컬럼명
Type = data type
Length = 최대 길이를 몇으로 할 것인지 ?
Allow Null = Null 값 되게끔 설정 할건지 ?
Custom = 디폴트 값과 코멘트를 뭘로 할건지 ? ?
열쇠는 F Key 외래키 설정할건지 ??
인덱스는 = 인덱스를 뭘로 설정할건지 - 15% 정도만 차지하게 설정하면 좋다. = 그냥 하나만 설정하자
파티션은 없다.
아래는 예시 코드
CREATE TABLE `dm_cust_push_send_stats` (
`base_date` VARCHAR(8) COMMENT '기준일자',
`push_uuid` INT COMMENT '푸시할당고유번호',
`title` INT COMMENT '푸시제목',
`body` INT COMMENT '푸시내용',
`push_send_cnt` INT DEFAULT '0' COMMENT '푸시발송수 ',
`push_suc_cnt` INT DEFAULT '0' COMMENT '푸시성공수',
`push_act_cnt` INT DEFAULT '0' COMMENT '푸시반응수'
);
반응형
'Data Analysis > SQL' 카테고리의 다른 글
18. [SQL] SQL에서 ACID는 무엇일까 ? (0) | 2023.01.05 |
---|---|
17. [SQL] 정규화(Normalization) (0) | 2023.01.04 |
15. [SQL] 같은 컬럼내에 있는 긴 문장중에서 'A'라는 단어가 먼저 나오고 그 다음 'B'라는 단어가 나오는 데이터를 조회하는 방법 by using chat-gpt (0) | 2022.12.22 |
14. [SQL] MySQL INSERT ... ON DUPLICATE KEY UPDATE Statement - 있으면 업데이트하고 없으면 새로 INSERT 하는 구문 (0) | 2022.11.19 |
13.[SQL] mysql [문자열 연결 function] MySQL의 group_concat (oracle LISTAGG) (0) | 2022.11.19 |
댓글