- Tuesday, July 28, 2009, 19:44
- Articles, DB
- 228 views
Clustered index 에 대해 모두 잘 알고 계시리라 생각합니다만 오늘 팀 내에서 Clustered index 에 대한 이야기가 나와서 간단히 적어 보려 합니다. Index 와 Clustered index Index는 우리에게 매우 익숙합니다. 테이블을 생성한 후 많은 데이터를 빠르게 찾기 위해 Index를 생성합니다. PRIMARY KEY인 경우 자동으로 Index가 되고 그 외 컬럼은 임의로 지정해 주어야 합니다. 경우에 따라서는 2~3초 걸리던 SQL 쿼리도 0.몇 초 이내에 결과가 ...
Full story
- Tuesday, July 14, 2009, 3:38
- Articles, DB, Featured
- 157 views
최근에 MySQL에 마이그레이션 작업을 위해 대량의 데이터를 입력하던 중에 갑자기 모든 데이터가 Rollback 되는 현상이 있었습니다. 로그에는 Lock wait timeout 라고 적혀 있었는데요. 간단히 이 메세지에 대해서 알아보겠습니다. 이 Lock wait timeout excceded 메세지는 DBMS가 트랜젝션을 위해 잠금(Lock)한 시간이 제한 시간을 넘었다는 것인데 설정 파일에서 값을 지정하지 않았다면 기본 값은 50초 입니다. 이 에러 메세지가 나타나는 경우는 두 가지가 있을 수 있습니다. 첫 ...
Full story
- Tuesday, May 12, 2009, 13:53
- Articles, DB
- 460 views
동적으로 DB 테이블을 생성해야 하는 경우가 있습니다. 예를 들면 월 단위로 로그 테이블을 생성해서 로그를 기록해야 하는 경우도 있을 테고요. 제로보드 같은 툴에서는 게시판을 생성하면 실제로 테이블을 하나 생성하여 글을 저장합니다. 이렇게 동적으로 DB 테이블을 생성할 때에는 생성하려는 테이블의 이름과 같은 이름의 테이블이 존재하는지 확인하는 과정이 필요합니다. 확인 과정 없이 테이블을 생성하려다가 실패했을 때 예상치 못한 버그가 나타날 수 있습니다. 테이블의 존재 여부를 ...
Full story