更新时间: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
父主题: 索引设计最佳实践(集中式)