Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Sequelize.bulkCreate()中使用PostgreSQL复制而不是插入?_Javascript_Node.js_Postgresql_Sequelize.js_Bulkinsert - Fatal编程技术网

Javascript 在Sequelize.bulkCreate()中使用PostgreSQL复制而不是插入?

Javascript 在Sequelize.bulkCreate()中使用PostgreSQL复制而不是插入?,javascript,node.js,postgresql,sequelize.js,bulkinsert,Javascript,Node.js,Postgresql,Sequelize.js,Bulkinsert,阅读说明在PostgreSQL中执行大容量摄取时,COPY如何比INSERT语句更快。具有执行批量插入的bulkCreate()函数 Sequelize是否可以执行复制而不是插入,您是否希望复制更快?在总共运行2小时的5个并行进程中,我每次摄取10000-1000000行。希望使用COPY和Sequelize可以实现一些加速 实际数据库正在使用TimescaleDB扩展 示例代码 let Note = sequelize.define('notes', { description: Se

阅读说明在PostgreSQL中执行大容量摄取时,
COPY
如何比
INSERT
语句更快。具有执行批量插入的
bulkCreate()
函数

Sequelize是否可以执行
复制
而不是
插入
,您是否希望
复制
更快?在总共运行2小时的5个并行进程中,我每次摄取10000-1000000行。希望使用
COPY
和Sequelize可以实现一些加速

实际数据库正在使用TimescaleDB扩展

示例代码

let Note = sequelize.define('notes', {
    description: Sequelize.STRING
});

let notes = [
    { description: 'Tai chi in the morning' },
    { description: 'Visited friend' },
    { description: 'Went to cinema' },
    { description: 'Listened to music' },
    { description: 'Watched TV all day' },
    { description: 'Walked for a hour' },
];

Note.bulkCreate(notes, { logging: console.log }).then(() => {
    console.log('notes created');
}).catch((err) => {
    console.log(err);
}).finally(() => {
    sequelize.close();
});

生成的SQL

INSERT INTO "notes" ("id","description") VALUES (DEFAULT,'Tai chi in the morning'),
(DEFAULT,'Visited friend'),(DEFAULT,'Went to cinema'),(DEFAULT,'Listened to music'),
(DEFAULT,'Watched TV all day'),(DEFAULT,'Walked for a hour') RETURNING *;

你能找到瓶颈吗?如果瓶颈是触发触发器或维护索引,则从插入切换到复制不会有太大区别。@jjanes在这种情况下,建议使用什么方法查找瓶颈<代码>pg_stat_语句?您能找到瓶颈吗?如果瓶颈是触发触发器或维护索引,则从插入切换到复制不会有太大区别。@jjanes在这种情况下,建议使用什么方法查找瓶颈<代码>pg_stat_语句?