批量过程调用节点MySQL
这类似于,但与程序有关 我想批量调用一个过程(超过10k次) 以难以置信的速度在单独的调用中完成这一切(当过程插入内容时,大约每秒20次插入) 如何使用单个数据库调用多次高效地调用过程批量过程调用节点MySQL,mysql,node.js,stored-procedures,bulkinsert,node-mysql,Mysql,Node.js,Stored Procedures,Bulkinsert,Node Mysql,这类似于,但与程序有关 我想批量调用一个过程(超过10k次) 以难以置信的速度在单独的调用中完成这一切(当过程插入内容时,大约每秒20次插入) 如何使用单个数据库调用多次高效地调用过程 我可以建立一个调用过程(args…)字符串并调用它,但有没有更好、更快速、更高效的方法?您可以通过在一个查询中执行多个语句来实现 首先,您应该使用启用了multipleStatements选项的模块创建连接: var mysql = require('mysql'); var connection =
我可以建立一个
调用过程(args…)字符串编码>并调用它,但有没有更好、更快速、更高效的方法?您可以通过在一个查询中执行多个语句来实现
首先,您应该使用启用了multipleStatements选项的模块创建连接:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'my_db',
multipleStatements: true
});
然后,您需要将每个过程调用连接到一个字符串中。不要忘记分号
var procCalls = "CALL procedure(arg1a, arg1b);" +
"CALL procedure(arg2a, arg2b);" +
"CALL procedure(arg3a, arg3b);" +
"CALL procedure(arg4a, arg4b);" +
"CALL procedure(arg5a, arg5b);" +
"CALL procedure(arg6a, arg6b);" +
"CALL procedure(arg7a, arg7b);";
// You might want to do it in a loop
最后,只需使用启用多语句的连接执行连接字符串查询:
connection.query(procCalls , function (error, results, fields) {
if (error) throw error;
// Success!
});
我很可能能帮上忙。您需要通过show create table xyz
为每个存储过程显示受模式影响的表的详细信息。我可以用你的方式和快速方式进行比较。但在我开始之前,你需要改进这个问题。