본문 바로가기
  • 포르쉐타고싶다
인포테인먼트 - development/node.js

[node.js] MYSQL 쿼리문 여러개(다중쿼리) 전송방법

by 지오ㄴl 2020. 3. 30.

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와 주고받으며 서버가 조금 더 효율적이게 되었다.

 

반응형

댓글