Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 9.0.0 | 



Other Parameters

The following are other parameters. The type and value range for each parameter are as follows:

Parameter Name

Type

Default Value

Min.

Max.

access_ip_control

bool

no

 

 

access_ip_control_file

string

 

 

 

auto_restart_server

bool

yes

 

 

index_scan_in_oid_order

bool

no

 

 

index_unfill_factor

float

0.05

0

0.5

insert_execution_mode

int

1

1

7

java_stored_procedure

bool

no

 

 

multi_range_optimization_limit

int

100

0

10000

pthread_scope_process

bool

yes

 

 

server

string

 

 

 

service

string

 

 

 

session_state_timeout

int

21600 (6 hours)

60
(1 minute)

31536000
(1 year)

single_byte_compare

bool

no

 

 

use_orderby_sort_limit

bool

yes

 

 

access_ip_control

A parameter used to specify whether to use feature limiting the IP addresses that allow server access. The default value is no. For details, see Database Server Access Limitation.

access_ip_control_file

A parameter used to specify a file name in which the list of IPs allowed by servers is stored. If access_ip_control value is set to yes, database server allows the list of IP addresses only stored in the file specified by this parameter. For details, Limiting Database Server Access.

auto_restart_server

A parameter used to specify whether to restart the process when it stops due to fatal errors being occurred in database server process. If auto_restart_server value is set to yes, the server process automatically restarts when it has stopped due to errors; it does not restart in case it stops by following normal process (by using STOP command).

index_scan_in_oid_order

A parameter used to specify the result data to be retrieved in OID order after the index scan. If the parameter is set to no, which is the default value, results are retrieved in data order; if it is set to yes, they are retrieved in OID order.

index_unfill_factor

If there is no free space because index pages are full when the INSERT or UPDATE operation is executed after the first index is created, the split of index page nodes occurs. This substantially affects the performance by increasing the operation time. index_unfill_factor is a parameter that specifies the percent of free space defined for each index page node when an index is created. The index_unfill_factor value is applied only when an index is created for the first time. The percent of free space defined for the page is not maintained dynamically. Its value ranges between 0 and 0.35. The default value is 0.05.

If an index is created without any free space for the index page node (index_unfill_factor is set to 0), the split of index page nodes occurs every time an additional insertion is made. This may degrade the performance.

If the value of index_unfill_factor is large, a large amount of free space is available when an index is created. Therefore, better performance can be obtained because the split of index nodes does not occur for a relatively long period of time until the free space for the nodes is filled after the first index is created.

If this value is small, the amount of free space for the nodes is small when an index is created. Therefore, it is likely that the index nodes are spilt by INSERT or UPDATE because the free space for the index nodes is filled in a short period of time.

insert_execution_mode

insert_execution_mode has execution modes ranging from 1 to 7. Queries are usually executed on the server according to the query plan created by the client, but this parameter is used to directly insert queries on the server side. A selected execution mode is executed directly on the server, and other execution modes are executed on the client. This parameter can be used to perform an INSERT operation to the server in an environment in which dirty reading of INSERTed data is required, or in which the memory capacity of the client is limited.

The following are three types of INSERT statements for execution modes. This parameter can be set through a combination of integer values corresponding to each execution mode.

  • INSERT_SELECT : When using the SELECT statement in the INSERT statement.
  • INSERT INTO code2(s_name, f_name) SELECT s_name, f_name from code;
  • INSERT_VALUES : The common INSERT statement.
  • INSERT INTO code2(s_name, f_name) VALUES ('S', 'Silver');
  • INSERT_DEFAULT : When inserting the default value because a column with the default value is omitted in the INSERT statement.
  • CREATE TABLE code2(s_name char(1) DEFAULT '_', f_name varchar(40));
  • INSERT INTO code2(f_name) DEFAULT VALUES;
  • INSERT_REPLACE : For example, when the REPLACE statement is executed, the corresponding integer value is 8.
  • CREATE TABLE code2(s_name char(1) NOT NULL UNIQUE, f_name varchar(40));
  • REPLACE INTO code2 VALUES ('S', 'Silver');
  • INSERT_ON_DUP_KEY_UPDATE : In addition, when the ON DUPLICATE KEY UPDATE clause is specified in the INSERT statement, the corresponding integer value is 16.
  • CREATE TABLE code2(s_name char(1) NOT NULL UNIQUE, f_name varchar(40));
  • INSERT INTO code2 VALUES ('S', 'Silver') ON DUPLICATE KEY UPDATE f_name='Silver';

The sum of the execution mode values above is the execution mode to be configured.

  • Example 1 : If you want to execute INSERT_SELECT and INSERT_VALUES on the server, the insert_execution_mode is 3. (1 + 2 = 3)
  • Example 2 : If you want to execute INSERT_SELECT, INSERT_DEFAULT, INSERT_REPLACE, an INSERT_ON_DUP_KEY_UPDATE on the server, the insert_execution_mode is 29(1+4+8+16=29).
java_stored_procedure

A parameter used to specify whether to use Java stored procedures by running the Java Virtual Machine (JVM). If the parameter is set to no, which is the default value, JVM is not executed; if it is set to yes, JVM is executed so you can use Java stored procedures. Therefore, configure the parameter to yes if you plan to use Java stored procedures.

multi_range_optimization_limit

If the number of rows specified by the LIMIT clause in the query, which has multiple ranges (col IN (?, ?, …,?)) and is available to use an index, is within the number specified by the multi_range_optimization_limit parameter, the optimization for the way of index sorting will be performed. The default value is 100.

For example, if a value for this parameter is set to 50, LIMIT 10 means that it is within the value specified by this parameter, so that the values that meet the conditions will be sorted to produce the result. If LIMIT is 60, it means that it exceeds the parameter configuration value, so that it gets and sorts out all values that meet the conditions.

Depending on the setting value, the differences are made between collecting the result with on-the-fly sorting of the intermediate values and sorting the result values after collecting them, and the bigger value could make more unfavorable performance.

pthread_scope_process

A parameter used to specify the contention scope of threads. It only applies to AIX systems. If the parameter is set to no, the contention scope becomes PTHREAD_SCOPE_SYSTEM; if it is set to yes, it becomes PTHREAD_SCOPE_PROCESS. The default value is yes.

server

A parameter used to register database server process that starts automatically when the CUBRID service starts.

service

A parameter used to register process that starts automatically when the CUBRID service starts. There are four types of processes: server, broker, manager, and heartbeat. Three processes are usually registered as in service=server,broker,manager.

  • If the parameter is set to server, the database process specified by the @server parameter gets started.
  • If the parameter is set to broker, the Broker process gets started.
  • If the parameter is set to manager, the manager process gets started.
  • If the parameter is set to heartbeat, the HA-related process gets started.
session_state_timeout

A parameter used to define how long the CUBRID session data will be kept. The session data will be deleted when the driver terminates the connection or the session time is expired. The session time will expire if a client does not have any requests until a value specified in session_state_timeout.

The default value is 21600 seconds (6 hours).

The following are CUBRID seesion data.

  • Custom variables defined by SET.
  • PREPARE statements.
  • LAST_INSERT_ID
  • Number of records affected by the last executed statement(ROW_COUNT)

Custom variables defined by SET and PREPARE statements can be deleted by DROP/DEALLOCATE statements before session timeout.

single_byte_compare

A parameter used to specify whether or not to compare strings in single byte units. If the parameter is set to no, which is the default value, strings are compared in two byte units; if it is set to yes, they are compared in single byte units. That is, you can retrieve/compare strings on data stored as UTF-8.

use_orderby_sort_limit

A parameter used to specify whether to keep the intermediate result of sorting and merging process in the statement including the ORDER BY … LIMIT row_count clause as many as row_count. If it is set to yes, you can decrease unnecessary comparing and merging processes because as many as intermediate results will be kept as the value of row_count. The default value is yes.