이번에는 Node.jsMySQL에 대용량 데이터 주입하기 Node.js에서 MySQL에 대용량 데이터를 주입할 때 주의사항은 무엇인가요? 실제 사례를 살펴보겠습니다.
1. 데이터베이스 연결
var mysql = require('mysql'); // 数据库信息 var connection = mysql.createConnection({ host : 'localhost', user : '数据库用户名', password : '数据库登录密码', database : '操作数据库名' });
으로 변환 예를 들어, 삽입할 데이터 두 개:
기록 1:
from:"index" to:“www.alibaba.com” status:1 is_new:0
기록 2:
from:"index1" to:"www.google.com" status:1 is_new:0
다음 형식으로 변환하세요:
var values = [ ["index","www.alibaba.com",1,0], ["index1","www.google.com",1,0] ];
삽입문 작성
var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?";
쿼리 함수를 호출하여 데이터 삽입을 완료
connection.query(sql, [values], function (err, rows, fields) { if(err){ console.log('INSERT ERROR - ', err.message); return; } console.log("INSERT SUCCESS"); });
전체 코드:
var mysql = require('mysql'); // 数据库信息 var connection = mysql.createConnection({ host : 'localhost', user : '数据库用户名', password : '数据库登录密码', database : '操作数据库名' }); var values = [ ["index","www.alibaba.com",1,0], ["index1","www.google.com",1,0] ]; var sql = "INSERT INTO url(`from`,`to`,`status`, `is_new`) VALUES ?"; connection.query(sql, [values], function (err, rows, fields) { if(err){ console.log('INSERT ERROR - ', err.message); return; } console.log("INSERT SUCCESS"); });
동시에 거래 기반 작업이 여기에 기록됩니다(아직 실행되지 않았으며 구체적인 효과는 알 수 없음)
트랜잭션 루프를 사용하여 삽입하고 삽입이 실패하면 롤백
mysql 모듈,connection.beginTransaction은 트랜잭션
을 수행하는 것입니다. 그런 다음 들어오는 배열에 대해 주기적 삽입 또는 업데이트 작업을 수행하는 함수를 여기에 캡슐화했습니다. 한 항목이 실패하면 롤백하고 모든 것이 정확하면 이 기사의 사례를 읽으신 후 커밋하십시오. 더 흥미로운 내용이 있으니 PHP 중국어 웹사이트의 다른 관련 기사도 주목해 주세요!
추천 도서:
AngularJS 등록 양식 확인 단계에 대한 자세한 설명clipboard.js 복사 기능 구현을 위한 자세한 단계위 내용은 Node.js는 MySQL에 데이터를 대량으로 주입합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!