Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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 NodeJs-MYSQL序列批量插入最佳实践_Javascript_Mysql_Node.js - Fatal编程技术网

Javascript NodeJs-MYSQL序列批量插入最佳实践

Javascript NodeJs-MYSQL序列批量插入最佳实践,javascript,mysql,node.js,Javascript,Mysql,Node.js,我有一个使用nodejs插入MySQL数据库的数据列表。 我将代码编写为: con.connect(function (err) { myArray.forEach((el)=>{ con.query(1stQuery,1stValue,(error,result)=>{ //dosomething with result con.query("SELECT LAST_INSERT_ID();",(error2,resu

我有一个使用nodejs插入MySQL数据库的数据列表。 我将代码编写为:

con.connect(function (err) {
     myArray.forEach((el)=>{
        con.query(1stQuery,1stValue,(error,result)=>{
        //dosomething with result
           con.query("SELECT LAST_INSERT_ID();",(error2,result2)=>{
                myArray.child.foreach((el2)=>{
                    //insert child into an array after processing 
                    //keep counter of for each, when every child is looped do insert

                       con.query(2ndQuery,ArrayOfValue,(error3,result3){
                        //when everything is finished then send some data back to user
                       })

                })

             })

        })
    })
}
一切正常,只是太慢了。我目前正在使用xammp在本地服务器上进行测试,插入大约400个父数据项和800个子数据项大约需要60秒。 有什么方法可以提高运行时性能吗

  • 您应该准备查询并在每次插入时重用它。看
  • 您应该为批量插入使用事务。这大大提高了性能,因为MySQL不必在每次插入后提交

  • 非常感谢您,我忘记了这项交易,因为我认为它不适用于last_insert_id和nodeJS。它现在运行良好:D