概述
在我们的平常业务中,经常需要批量更新数据,例如:现阶段需要更新 1000 个包裹的上网时间,每个包裹的上网时间是不一样的,假如我们一个一个包裹更新,则需要与数据库进行 1000 次的交互,很大的消耗数据库的性能,并且更新的速度也很慢,因此,我们通常需要进行批量更新数据。
数据生成
首先,我们需要生成一批测试数据,方便对批量更新进行测试。
创建数据表
CREATE TABLE users
(
id SERIAL PRIMARY KEY,
username VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
status VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
created_by VARCHAR(255) DEFAULT 'system'
);
批量生成数据
INSERT INTO
users (username, email, password, status)
SELECT
SUBSTR(MD5(RANDOM()::TEXT), 10),
SUBSTR(MD5(RANDOM()::TEXT), 10) || '@qq.com',
MD5(RANDOM()::TEXT),
get_split_str('在职,离职')
FROM
GENERATE_SERIES(1, 10000);
生成数据的相关函数:PGSQL 快速生成数据函数

最低0.47元/天 解锁文章
2696

被折叠的 条评论
为什么被折叠?



