node.js와 MYSQL을 연결하는 가장 기본적인 방법은
데이터베이스 config파일을 만든 뒤
const mysql = require("promise-mysql");
const dbConfig = {
host : '[호스트 이름]',
port : 3306,
user : '[유저명]',
password : '[비밀번호]',
database : '[스키마 명]'
}
module.exports = mysql.createPool(dbConfig);
이렇게 작성을 해놓고 이 파일을 가져다
connection파일을 만드는 것이다.
이 connection파일을 사용하면서 db와 데이터를 주고받을 때
여러번 주고받는것은 효율성면에서 떨어진다.
이를 반대로 말하면 한 번 주고받을 때 많은 정보를 주고받는것이 효율적이라는 말이다.
따라서 쿼리문을 작성할 때 ''안에 여러 쿼리를 집어넣어야 하는데
위의 dbConfig 객체에서는 여러쿼리를
const query = '[쿼리1]; [쿼리2]'
이렇게 ;로 나누더라도 여러 쿼리를 한번에 보내지 못한다.
이걸 가능케, 즉 다중쿼리를 한 번에 보내는 것을 가능하게 하려면
위의 dbConfig객체에 속성 하나만 추가해주면 되는데 바로
{multipleStatements : true}
이다.
그렇다면 맨 위의 가장 기본적인 dbConfig 정보를 수정해보자
const mysql = require("promise-mysql");
const dbConfig = {
host : '[호스트 이름]',
port : 3306,
user : '[유저명]',
password : '[비밀번호]',
database : '[스키마 명]',
multipleStatements: true // 여러 쿼리를 ';'를 기준으로 한번에 보낼 수 있게한다.
}
module.exports = mysql.createPool(dbConfig);
이제 다중쿼리를 db와 주고받으며 서버가 조금 더 효율적이게 되었다.
반응형
'인포테인먼트 - development > node.js' 카테고리의 다른 글
[npm] npm install 중 ../../nan/nan_object_wrap.h:24:25: error: no member named 'IsNearDeath' 에러 해결 (0) | 2021.04.13 |
---|---|
[node.js] g suite 계정에 nodeMailer 적용 (0) | 2020.04.27 |
[node.js] 이해가 어려웠던 카카오 로그인 박살내기 (8) | 2020.04.23 |
[Node.js] pm2 무중단 서비스 구현 (0) | 2020.04.20 |
[node.js] dotenv 사용법 및 적용 및 에러 해결 (0) | 2020.04.10 |
댓글