Help Center/
GaussDB/
Developer Guide(Distributed_V2.0-8.x)/
FAQs/
If No Distribution Key Is Specified, How Will Data Be Stored?
Updated on 2025-05-29 GMT+08:00
If No Distribution Key Is Specified, How Will Data Be Stored?
Answer: If no distribution key is specified during table creation, data is stored as follows:
- If the primary key or unique constraint is included during table creation, hash distribution is selected. The distribution key is the column corresponding to the primary key or unique constraint.
gaussdb=# CREATE TABLE tb_test1 ( W_WAREHOUSE_SK INTEGER PRIMARY KEY, W_WAREHOUSE_ID CHAR(16) NOT NULL, W_WAREHOUSE_NAME VARCHAR(20) ); NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "tb_test1_pkey" for table "tb_test1" CREATE TABLE gaussdb=# SELECT getdistributekey('tb_test1'); getdistributekey ------------------ w_warehouse_sk (1 row) -- Drop the table. gaussdb=# DROP TABLE tb_test1;
- If the primary key or unique constraint is not included during table creation but there are columns whose data types can be used as distribution keys, hash distribution is selected. The distribution key is the first column whose data type can be used as a distribution key.
gaussdb=# CREATE TABLE tb_test2 ( W_WAREHOUSE_SK INTEGER , W_WAREHOUSE_ID CHAR(16) NOT NULL, W_WAREHOUSE_NAME VARCHAR(20) ); NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'w_warehouse_sk' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE gaussdb=# SELECT getdistributekey('tb_test2'); getdistributekey ------------------ w_warehouse_sk (1 row) -- Drop the table. gaussdb=# DROP TABLE tb_test2;
- If the primary key or unique constraint is not included during table creation and no column whose data type can be used as a distribution key exists, round-robin distribution is selected.
gaussdb=# CREATE TABLE tb_test3 ( W_WAREHOUSE_ID CHAR(16) NOT NULL, W_WAREHOUSE_NAME VARCHAR(20) ); NOTICE: The 'DISTRIBUTE BY' clause is not specified. Using 'w_warehouse_id' as the distribution column by default. HINT: Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column. CREATE TABLE gaussdb=# SELECT getdistributekey('tb_test3'); getdistributekey ------------------ w_warehouse_id (1 row) -- Drop the table. gaussdb=# DROP TABLE tb_test3;
Parent topic: FAQs
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
The system is busy. Please try again later.
For any further questions, feel free to contact us through the chatbot.
Chatbot