更新时间:2025-08-19 GMT+08:00
分享

前置准备

在现有的数据库里面创建表并插入百万级别数据。

机器配置为8核CPU32GB内存。

--创建test_table表。
gaussdb=# CREATE TABLE test_table ( id SERIAL PRIMARY KEY,name VARCHAR(100),email VARCHAR(100),created_at TIMESTAMP);
CREATE TABLE

--向表中插入100万条数据。
gaussdb=# INSERT INTO test_table (name,email,created_at) select 'User_' || i,'User_' || i || '@example.com',NOW() - (i * INTERVAL '1 minute') FROM generate_series(1, 1000000) AS i;
INSERT 0 1000000

--创建表。
gaussdb=# CREATE TABLE sales_records (record_id BIGSERIAL PRIMARY KEY,region_id INT NOT NULL,store_id INT NOT NULL,product_id INT NOT NULL,sale_date DATE NOT NULL,amount DECIMAL(12,2) NOT NULL,is_refund BOOLEAN DEFAULT false);

--插入200万条数据。
gaussdb=# INSERT INTO sales_records (region_id, store_id, product_id, sale_date, amount) SELECT (random()*9)::INT + 1,(random()*99)::INT + 1,(random()*499)::INT + 1,current_date - (random()*1095)::INT,(random()*9900)::DECIMAL + 100 FROM generate_series(1,2000000);
INSERT 0 2000000

相关文档