Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- c# datagridview 데이터 넣기
- listener 1883
- timepicker
- html #select #option #multiple
- map이 undefined가 뜰 때
- setInterval 중지
- pm2 확인
- datagridview 직접입력
- pm2 시작
- AntDesign
- DatePicker
- DataGridView 직접 입력
- setInterval 외부 정지
- setInterval clear
- invalid data
- 데이터테이블 데이터 넣기
- pm2
- 공인IP
- 1883
- mosquitto
- mySQL_Replication
- pm2 상태 확인
- 맥 어드레스
- allow_anonymouse
- mosquitto.conf
- 서버동기화
- setInterval 정지
- transfer
- pm2 설치
- Replication
Archives
- Today
- Total
개발 노트
Nodejs -> mysql 대량의 값을 insert 또는 delete 본문
await localConnection.execute(
`INSERT INTO dw_synch_backup values(${item.synchSeq},'${item.tableNm}','${item.tableKey1}','${item.tableKey2}',now(),'${item.applyFlag}',${item.applyDate},'${item.checkFlag}',${item.checkDate})`
);
await localConnection.execute(
`DELETE FROM dw_synch where synchSeq = ${item.synchSeq}`
);
많은 양(약 5000~6000개)이상을 반복문을 돌려서 위의 코드를 실행할시에는 모든 양을 작성하기전에 만료된다.
너무 많다고 에러가뜨기때문에 해결법을 찾아보니 prepare라는 것으로 반복문 밖에서 준비를 시켜주라고 한다.
(async () => {
const insertStatement = await localConnection.prepare(
`INSERT INTO dw_synch_backup values(?,?,?,?,now(),?,?,?,?)`
);
const deleteStatement = await localConnection.prepare(
`DELETE FROM dw_synch where synchSeq = ?`
);
while (true) {
const [synchRows] = await localConnection.execute(
'SELECT * FROM dw_synch LIMIT 100'
);
console.log('synchRows.length', synchRows.length);
for (let item of synchRows) {
await callProcedureDX(item.tableNm, item.tableKey1);
await callProcedureDW(item.tableNm, item.tableKey1);
await insertStatement.execute([
item.synchSeq,
item.tableNm,
item.tableKey1,
item.tableKey2,
item.applyFlag,
item.applyDate,
item.checkFlag,
item.checkDate,
]);
await deleteStatement.execute([item.synchSeq]);
}
수정된 코드가 위의 코드이다.
'데이타베이스 > MySQL' 카테고리의 다른 글
패스워드 정책 확인 및 변경 (0) | 2023.06.02 |
---|---|
계정에 권한 부여하기 (0) | 2023.06.02 |
mySQL Replication A to Z mySQL 동기화 (0) | 2023.01.19 |
MySQL - SQL Replication (0) | 2023.01.09 |
mySQL DATETIME 타입 (0) | 2022.12.09 |