⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

PG分区表实战

学习PostgreSQL分区表的创建、管理与查询优化 · 难度:入门 · +15XP

分区表的概念

PostgreSQL分区表是将一个大表拆分为多个物理子表的技术,但逻辑上仍作为一个表访问。分区可以显著提升查询性能、管理效率和数据维护速度。

支持的分区类型

类型说明
范围分区按列值范围划分,如按日期
列表分区按列值列表划分,如按地区
哈希分区按哈希值划分,均匀分布数据

创建范围分区表示例

CREATE TABLE orders (
    id SERIAL,
    order_date DATE NOT NULL,
    amount NUMERIC
) PARTITION BY RANGE (order_date);

CREATE TABLE orders_2024_q1 PARTITION OF orders FOR VALUES FROM ('2024-01-01') TO ('2024-04-01');

CREATE TABLE orders_2024_q2 PARTITION OF orders FOR VALUES FROM ('2024-04-01') TO ('2024-07-01');

插入与查询

INSERT INTO orders (order_date, amount) VALUES ('2024-02-15', 100.00);
INSERT INTO orders (order_date, amount) VALUES ('2024-05-20', 250.00);

-- 自动路由到对应分区 SELECT * FROM orders WHERE order_date BETWEEN '2024-01-01' AND '2024-03-31';

分区维护

使用ATTACH PARTITION添加新分区,DETACH PARTITION分离分区。定期删除旧分区可避免数据膨胀。

练习提示

尝试创建一个按年份分区的销售表,并插入跨年数据观察分区路由效果。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 131 篇
0 完成
🔥 0