1. 자동 증가(Auto Growth) - 성능 하락

데이터베이스의 파일(데이터 및 로그 파일) 단위로 설정되는 옵션, 모든 Edition에서 기본적으로 설정된다.

이 옵션은 성능에 나쁜 영향을 미친다. 이유 : 파일이 증가할 때 증가되는 부분을 모두 0으로 채우는 초기화 작업(zero-out)을 거치므로. 게다가 간헐적으로 증가하다 보면 연속적인 공간사용을 못하게 되어 여기저기 조각이 나게 된다. 따라서 순차적 읽기 대신 랜덤 액세스를 하게 되어 성능이 저하.

EX) 아무 옵션 없이 데이터베이스를 생성하면 1MB로 시작해서 10%씩 자동 증가되도록 설정

SOL) FILEGROWTH 옵션을 0 으로 지정하여 자동증가 해제, DBA가 부하가 덜 한 시간에 ALTER DATABASE 문을 사용하여 파일 크기를 키우던가 파일을 추가해 준다.

저의 회사에서는 사용 & Fixed 용량으로 자동증가를 시켜 놓았다. (% 증가보다 Fixed 증가가 더 좋기 때문)

 

2. 자동 축소(Auto Shrink) - 성능 하락

데이터베이스의 autoshrink 옵션을 TRUE로 설정하면 주기적으로 데이터베이스 파일의 축소가 발생. SQL Server의 Personal 및 Desktop 판에서 이 옵션이 기본적으로 설정.

* 자동 축소 될 때 DB 잠금이 발생. 데이터 이동에 따른 디스크 I/O 가 발생하여 성능 저하.

 

3. 자동 닫기(Auto Close) - 성능 하락

- SQL Server의 Personal 및 Desktop 판에서 이 옵션은 기본적으로 설정된다.

- 데이터베이스의 Autoclose 옵션을 TRUE로 설정하면 이 데이터베이스에 대한 마지막 사용자가 연결을 끊을 때 데이터베이스를 메모리에서 내리고, 사용자가 다시 접속할 때 데이터베이스를 메모리로 다시 올린다.

메모리에서 내릴 때에 디스크와 동기화 안된 페이지(Dirty Page)를 기록 하느라 디스크 I/O 발생.

메모리에서 올릴 때에 디스크에서 메모리로 올리면서 디스크 I/O 발생.

 

4. 통계 자동 생성 및 갱신 - 성능 증가

Auto create statistics

Auto update statistics 옵션으로 설정한다.

 

 

by 짱구를꼭말려 2014. 1. 2. 15:46