다음은 기타 파라미터 정보로 각 파라미터의 타입과 설정 가능한 값의 범위는 다음과 같다.
파라미터 이름 |
타입 |
디폴트 값 |
최소값 |
최대값 |
---|---|---|---|---|
service |
string |
|
|
|
server |
string |
|
|
|
replication |
bool |
no |
|
|
index_scan_in_oid_order |
bool |
no |
|
|
single_byte_compare |
bool |
no |
|
|
insert_execution_mode |
int |
1 |
1 |
7 |
java_stored_procedure |
bool |
no |
|
|
pthread_scope_process |
bool |
yes |
|
|
auto_restart_server |
bool |
yes |
|
|
index_unfill_factor |
float |
0.20 |
0 |
0.35 |
service는 CUBRID 서비스 시작 시 자동으로 시작하는 프로세스를 등록하는 파라미터로 server, broker, manager의 세 종류 프로세스가 있다. 일반적으로 service=server,broker,manager와 같이 세 종류 프로세스를 모두 등록한다.
server는 CUBRID 서비스 시작 시 자동으로 시작하는 데이터베이스 서버 프로세스를 등록하는 파라미터이다.
replication은 데이터베이스 복제 기능을 활성화시키는 파라미터이다. 디폴트 값인 no로 설정하면 복제 기능이 비활성화되고, yes로 설정하면 복제 기능이 활성화된다. 복제 기능이 활성화되면 해당 데이터베이스는 복제 로그를 생성하는 복제 마스터 서버의 역할을 수행한다.
index_scan_in_oid_order는 인덱스를 스캔한 후 검색 결과 데이터를 가져오는 순서를 OID 순으로 지정하기 위한 파라미터이다. 디폴트 값인 no로 설정하면 데이터 순서대로 결과를 가져오고, yes로 설정하면 OID 순서대로 결과를 가져온다.
single_byte_compare은 스트링 비교(string compare)를 1바이트 단위로 수행하기 위한 파라미터이다. 디폴트 값인 no로 설정하면 2바이트 단위로 스트링 비교를 수행한다. yes로 설정하면 1바이트 단위로 스트링 비교를 수행하므로 유니코드(UTF-8) 환경에서 저장된 데이터에 대해 정상적으로 스트링 비교/검색을 수행할 수 있다.
insert_execution_mode는 INSERT가 서버 측에서 바로 수행되도록 하는 파라미터로서, 최소값은 1, 최대값은 31이다. 일반적으로 쿼리는 클라이언트에서 수행되고, 커밋 후에 서버에 반영된다. 그러나 insert_execution_mode 파라미터를 설정하면, 설정된 실행 모드에 해당하는 INSERT 문은 서버 측에서 바로 수행되고, 나머지 실행 모드에 해당하는 INSERT 문은 클라이언트에서 수행된다. 이는 INSERT한 데이터의 더티 읽기(dirty read)가 요구되는 환경 또는 클라이언트 메모리 용량이 제한적인 환경에서 서버 측 INSERT 문을 수행하기 위해 설정할 수 있다.
지원되는 INSERT 문의 실행 모드는 5가지이며, 각 실행 모드에 대응하는 정수 값의 조합을 통해 파라미터를 설정할 수 있다.
위의 각 실행 모드에 대응되는 정수 값의 합계를 파라미터 값으로 설정하여, 서버 측에서 바로 수행될 INSERT 문의 종류를 지정할 수 있다.
java_stored_procedure는 Java 가상 머신(Java Virtual Machine, JVM)을 실행하여 Java 저장 프로시저(Java stored procedure)를 사용하게 하기 위한 파라미터이다. 디폴트 값인 no로 설정하며 JVM이 실행되지 않고, yes로 설정하면 JVM이 실행되어 Java 저장 프로시저(Java stored procedure)를 사용할 수 있다. 따라서, Java 저장 프로시저를 사용할 계획이 있는 경우에는 파라미터를 yes로 설정해야 한다.
pthread_scope_process는 스레드의 경쟁 범위를 설정하는 파라미터로 AIX 시스템에서만 적용된다. no로 설정하면 경쟁 범위가 PTHREAD_SCOPE_SYSTEM이 되고, yes로 설정하면 PTHREAD_SCOPE_PROCESS가 된다. 디폴트 값은 yes이다.
auto_restart_server는 데이터베이스 서버 프로세스에 심각한 오류가 발생해서 프로세스가 중단될 경우에 자동으로 재시작할 것인가를 지정하는 파라미터이다. auto_restart_server를 yes로 설정하면 서버 프로세스는 정상적인 종료 절차(CUBRID 서버의 STOP 명령)가 아닌 잘못 중단된 경우에 자동으로 재시작한다.
최초 인덱스 생성 후 INSERT나 UPDATE를 실행할 때 인덱스 페이지가 꽉 차서 여유 공간이 없으면 인덱스 페이지 노드의 분할(split)이 발생하게 되는데, 이는 오퍼레이션 시간을 증가시켜 성능에 영향을 미친다. index_unfill_factor는 인덱스를 생성할 때 각 인덱스 페이지 노드의 여유 공간을 확보하는 비율을 지정하는 파라미터이다. index_unfill_factor 설정값은 인덱스를 처음 생성할 때만 적용되며, 페이지에 지정된 빈 공간의 비율을 동적으로 유지하지 않는다. 값의 범위는 0부터 0.35까지이고 디폴트값은 0.20이다.
인덱스를 생성할 때 인덱스의 페이지 노드에 여유 공간이 없이(index_unfill_factor=0) 생성한다면, 추가로 삽입할 때마다 매번 인덱스 페이지 노드의 분할이 발생하여 성능에 영향을 끼치게 된다.
index_unfill_factor 값이 크면 인덱스 생성 시 노드 여유 공간을 많이 확보한다. 따라서 최초 인덱스 생성 후 노드 여유 공간이 꽉 찰 때까지 상대적으로 긴 시간 동안 인덱스 노드의 분할이 발생하지 않으므로, 상대적으로 성능이 나을 수 있다.
이 값이 작으면 인덱스 생성 시 노드 여유 공간이 작기 때문에, 인덱스 노드의 여유 공간이 금방 꽉 차게 될 가능성이 높으므로, 상대적으로 INSERT나 UPDATE에 의한 인덱스 노드 분할의 발생 가능성이 높다.