사용자 도구

사이트 도구


database:mysql:sequence

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
database:mysql:sequence [2015/11/11 14:24]
kwon37xi [MyISAM 기반 Sequence]
database:mysql:sequence [2015/12/13 00:58]
kwon37xi [InnoDB 기반 Sequence]
줄 27: 줄 27:
 </code> </code>
  
-**MyISAM은 Bakcup/Recovery가 힘들다고** 따라서 실전에서는 시퀀스 전용 스키마로 독립시키지 않는한 사용하기 힘들다.+**MyISAM과 InnoDB를 섞어서 사용할 경우 Bakcup/Recovery에 문제가 발생할 수 있다고 한다.** 따라서 실전에서는 시퀀스 전용 스키마로 독립시키지 않는한 사용하기 힘들다.
  
   * [[https://www.percona.com/blog/2008/04/02/stored-function-to-generate-sequences/|Stored Function to generate Sequences]] 참조.   * [[https://www.percona.com/blog/2008/04/02/stored-function-to-generate-sequences/|Stored Function to generate Sequences]] 참조.
줄 34: 줄 34:
   * ''AUTO_INCREMENT''는 멀티 트랜잭션 상황에서도 항상 새로운 값이 리턴되는 것을 보장해준다.   * ''AUTO_INCREMENT''는 멀티 트랜잭션 상황에서도 항상 새로운 값이 리턴되는 것을 보장해준다.
   * ''MyISAM''에서 처럼 단일 테이블에 여러 시퀀스를 두려고 할 경우, Transaction 상황에 따라 동일 값이 리턴되는 경우가 발생할 수 있다.   * ''MyISAM''에서 처럼 단일 테이블에 여러 시퀀스를 두려고 할 경우, Transaction 상황에 따라 동일 값이 리턴되는 경우가 발생할 수 있다.
 +  * 비록 숫자만 저장하는 테이블이지만 tablespace 크기가 매우 증가할 수 있다. 지속적으로 데이터를 삭제해줘면 삭제된 공간을 재사용해서 증가하지 않게 된다.
 ===== InnoDB 기반 Multi Sequence ===== ===== InnoDB 기반 Multi Sequence =====
   * [[http://www.bigdbahead.com/?p=185|Efficient sequences with MySQL]] : 단일 InnoDB 테이블로 여러 Sequence를 생성하는 방법.   * [[http://www.bigdbahead.com/?p=185|Efficient sequences with MySQL]] : 단일 InnoDB 테이블로 여러 Sequence를 생성하는 방법.
database/mysql/sequence.txt · 마지막으로 수정됨: 2015/12/13 00:58 저자 kwon37xi