본문 바로가기
Data Analysis/SQL

16. Create table - Online SQL Generator / Table 만드는 SQL문 생성하는 사이트 (Mysql)

by Hagrid 2023. 1. 2.
반응형

바로여기

- 가끔 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 '푸시반응수'
);

 

반응형

댓글