Note
For V4.3.5 BP1, this parameter is available starting with V4.3.5 BP1.
Description
The default_table_organization parameter specifies the default table organization mode for newly created tables.
Note
Currently, the default_table_organization parameter is applicable only to MySQL user tenants in OceanBase Database. It is not supported for the sys tenant and Oracle user tenants.
Privilege requirements
Query the parameter
The
systenant and all user tenants can query the parameter by using theSHOW PARAMETERSstatement or theGV$OB_PARAMETERSview.Modify the parameter
The
systenant and user tenants can modify the parameter.
Attributes
| Attribute | Description |
|---|---|
| Parameter type | String |
| Default value | INDEX |
| Value range |
|
| Modifiable | Yes. You can use the ALTER SYSTEM SET statement to modify the parameter. |
| Effective upon OBServer node restart | No. The setting takes effect immediately. |
Considerations
The default_table_organization parameter allows you to flexibly control the default table organization mode for newly created tables. You can set the parameter to one of the following values:
HEAP(heap-organized tables):- When you create a table with a primary key in this mode, the data is not sorted based on the order of the primary key column.
- This mode is suitable for scenarios that require processing large amounts of data and performing complex query analysis.
INDEX(index-organized tables):- When you create a table with a primary key in this mode, the data is sorted based on the order of the primary key column.
- This mode is suitable for transaction processing scenarios that require fast queries and frequent updates.
By setting the default_table_organization parameter, you can choose the appropriate table organization mode based on your specific requirements to optimize system performance and improve data management efficiency.
Examples
View the current value of the
default_table_organizationparameter.SHOW PARAMETERS LIKE 'default_table_organization';The output is as follows:
+-------+----------+----------------+----------+----------------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+---------------+-----------+ | zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault | +-------+----------+----------------+----------+----------------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+---------------+-----------+ | zone1 | observer | 100.10.100.100 | 2882 | default_table_organization | STRING | INDEX | The default_organization configuration option allows you to set the default table organization mode to either HEAP (unordered data storage) or INDEX (the data rows are held in an index defined on the primary key for the table) when creating new tables. | TENANT | TENANT | DEFAULT | DYNAMIC_EFFECTIVE | INDEX | 1 | +-------+----------+----------------+----------+----------------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+---------------+-----------+ 1 row in setSet the value of the
default_table_organizationparameter toHEAP.ALTER SYSTEM SET default_table_organization = 'HEAP';View the current value of the
default_table_organizationparameter.SHOW PARAMETERS LIKE 'default_table_organization';The output is as follows:
+-------+----------+----------------+----------+----------------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+---------------+-----------+ | zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault | +-------+----------+----------------+----------+----------------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+---------------+-----------+ | zone1 | observer | 100.10.100.100 | 2882 | default_table_organization | STRING | HEAP | The default_organization configuration option allows you to set the default table organization mode to either HEAP (unordered data storage) or INDEX (the data rows are held in an index defined on the primary key for the table) when creating new tables. | TENANT | TENANT | DEFAULT | DYNAMIC_EFFECTIVE | INDEX | 0 | +-------+----------+----------------+----------+----------------------------+-----------+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+---------------+-----------+ 1 row in setCreate a test table named
test_tbl1.CREATE TABLE test_tbl1(col1 INT);View the definition of the
test_tbl1table.SHOW CREATE TABLE test_tbl1;The output is as follows:
+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | test_tbl1 | CREATE TABLE `test_tbl1` ( `col1` int(11) DEFAULT NULL ) ORGANIZATION HEAP DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE ENABLE_MACRO_BLOCK_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 | +-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set
