문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
database:mysql:sequence [2014/07/18 17:38] kwon37xi |
database:mysql:sequence [2015/12/13 00:58] (현재) kwon37xi [InnoDB 기반 Sequence] |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== MySQL Sequence 시퀀스 ====== | ====== MySQL Sequence 시퀀스 ====== | ||
| + | |||
| + | ===== MyISAM 기반 Sequence ===== | ||
| + | |||
| Real MySQL 1판 922페이지 | Real MySQL 1판 922페이지 | ||
| + | < | ||
| create table jpa_sequences ( name varchar(16) NOT NULL, curval bigint not null, primary key(name)) ENGINE=MyISAM; | create table jpa_sequences ( name varchar(16) NOT NULL, curval bigint not null, primary key(name)) ENGINE=MyISAM; | ||
| 줄 21: | 줄 25: | ||
| return (Long)nextSequenceObject; | return (Long)nextSequenceObject; | ||
| + | </ | ||
| + | **MyISAM과 InnoDB를 섞어서 사용할 경우 Bakcup/ | ||
| - | + | * [[https:// | |
| - | MyISAM은 Bakcup/Recovery가 힘들다고함. | + | ===== InnoDB 기반 Sequence ===== |
| + | * InnoDB 기반 시퀀스는 **시퀀스마다 별도의 테이블**을 만들고 '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * 비록 숫자만 저장하는 테이블이지만 tablespace 크기가 매우 증가할 수 있다. 지속적으로 데이터를 삭제해줘면 삭제된 공간을 재사용해서 증가하지 않게 된다. | ||
| + | ===== InnoDB 기반 Multi Sequence ===== | ||
| + | * [[http:// | ||
| + | * Storage Procedure가 필요하다. | ||
| + | * ISOLATION Level ([[database: | ||
| + | * **Transaction 이 길어질 경우에 무슨 사태가 발생하는지 철저한 테스트가 필요하다.** | ||