다음은 기타 파라미터 정보로 각 파라미터의 타입과 설정 가능한 값의 범위는 다음과 같다.
파라미터 이름 |
타입 |
디폴트 값 |
최소값 |
최대값 |
---|---|---|---|---|
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바이트 단위로 스트링 비교를 수행한다. 즉, 유니코드를 사용할 때 오류 없이 데이터를 검색할 수 있다.
insert_execution_mode는 1부터 7까지 실행 모드가 있다. 쿼리는 클라이언트에서 실행 계획을 짜서 서버에서 수행을 하는데, 서버 측에서 바로 삽입(server side insert)하기 위한 파라미터이다. 설정된 실행 모드는 서버 측에서 바로 수행하게 되며, 설정되지 않은 실행 모드는 클라이언트에서 수행하게 된다. 실행 모드를 위한 INSERT 문의 종류는 다음의 3가지이다.
INSERT INTO code2(s_name, f_name) SELECT s_name, f_name from code;
INSERT INTO code2(s_name, f_name) VALUES ('S', 'Silver');
CREATE TABLE code2(s_name char(1) DEFAULT '_', f_name varchar(40));
INSERT INTO code2(f_name) VALUES('Mixed');
각 실행모드는 다음의 값을 가진다.
위의 실행 모드의 값을 더한 합이 설정하고자 하는 실행 모드이다.
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에 의한 인덱스 노드 분할의 발생 가능성이 높다.