☰
supabase-postgres-best-practices - data-batch-inserts
2026/10/13 12:42:05 网站建设 项目流程

title: Batch INSERT Statements for Bulk Data
impact: MEDIUM
impactDescription: 10-50x faster bulk inserts
tags: batch, insert, bulk, performance, copy

批量数据使用批量 INSERT 语句

单个 INSERT 语句开销很高。在单条语句中批量插入多行,或使用 COPY。

错误做法(逐条插入):

-- 每次插入都是独立的事务和网络往返insertintoevents(user_id,action)values(1,'click');insertintoevents(user_id,action)values(1,'view');insertintoevents(user_id,action)values(2,'click');-- ... 还有 1000 条单条插入-- 1000 次插入 = 1000 次网络往返 = 很慢

正确做法(批量插入):

-- 单条语句中插入多行insertintoevents(user_id,action)values(1,'click'),(1,'view'),(2,'click'),-- ... 每批最多约 1000 行(999,'view');-- 1000 行只需一次网络往返

对于大型导入,使用 COPY:

-- 批量加载最快的方式是 COPYcopy events(user_id,action,created_at)from'/path/to/data.csv'with(format csv,headertrue);-- 或在应用程序中从标准输入导入copy events(user_id,action)fromstdinwith(format csv);1,click1,view2,click \.

参考:COPY

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询