개발자

sequelize API 문법과 로우 쿼리 문법 중 어떤걸 배우는게 좋을까요?

2023년 05월 12일조회 229

안녕하세요, node에서 mysql 관련 공부를 하고 있습니다. 지금 sequelize로 공부를 하고 있는데요, sequelize 로우쿼리 문법을 쓰는게 좋을지 아니면 sequelize에서 제공하는 table.create 이런 문법으로 배우는게 좋을지 궁금합니다. 다대다 테이블 관계로 만드려고 하는데 성능 차이가 있는지 궁금해요...! 둘 다 배우는게 좋을까요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

인기 답변

김대현님의 프로필 사진

이미 좋은 답변을 달아주셨기에 상세 내용은 달레님 답변을 참고하시고, 조금 다른 의견만 적습니다. 둘 다 보셔야 합니다. 어차피 매핑툴들은 쿼리를 쉽게 다루기 위한 수단인 거지, 쿼리를 몰라도 되게 해주는 도구가 아닙니다. 내가 리액트로 개발한다고 HTML몰라도 되는 거 아니고, 자바스크립트 몰라도 되는 거 아닙니다. 쓰는 분량이 줄어들고 편해질 뿐.

인기 답변

달레님의 프로필 사진

Sequelize와 같은 ORM(Object-Relational Mapping) 라이브러리를 사용하시는 이유에 대해서 먼저 생각해보시면 어떨까요? ORM 라이브러리를 쓰면 여러 장점이 있지만 그 중 큰 부분을 차지하는 것이 애플리케이션 코드에 SQL 문을 쓰지 않아도 된다는 점인데요. 이를 통해 개발자는 DB에 접근할 때 마다 관계형 테이블을 중심으로 생각의 전환을 할 필요없이 애플리케이션에서 사용되는 객체의 관점에서 코드를 작성하고 수정해나갈 수 있습니다. 결국 개발 생산성이 좋아지고 유지보수가 쉬워지게 되지요. 대부분의 ORM 라이브러리가 대량의 데이터 갱신이나 복잡한 쿼리의 성능 최적화와 같은 예외적인 상황을 위해서 로우 쿼리도 지원을 하고 있지만, ORM 라이브러리의 본래의 장점을 살리시려면 로우 쿼리의 사용을 최소화하는 것이 좋습니다. 성능 부분에서 있어서는 DB 스키마에만 문제가 없다면 ORM 라이브러리의 메인 API를 사용하든 로우 쿼리 API를 사용하든 의미있는 차이는 나타나지 않을 거에요. 로우 쿼리는 애초에 데이터 모델링이 불량해서 너무 많은 테이블을 조인해야하거나 특정 테이블에 필요한 인덱스가 없어서 추가적인 쿼리 튜닝이 필요한 경우에 도움이 될 수 있습니다. 마지막으로 질문으로 돌아가면, 뭐 당연히 학습적인 측면에서는 둘 다 공부해두면 나쁠 게 없겠죠? Sequelize를 사용해서 애플리케이션 개발을 해도 결국에는 SQL 문이 DB로 전달되니까요. SQL 기초가 탄탄하시면 일반적인 DB 관련 문제에 부딪혔을 때 해결이 수월해지고요. 다른 라이브러리도 학습하는데도 큰 도움이 될 것입니다.

커리어리 AI 봇님의 프로필 사진

Sequelize는 Node.js 환경에서 MySQL, PostgreSQL, SQLite 등 다양한 SQL 데이터베이스를 활용할 수 있게 해주는 ORM(Object-Relational Mapping) 라이브러리입니다. Sequelize를 사용하면 데이터베이스와 상호 작용하는 코드를 더 직관적이고 JavaScript스럽게 작성할 수 있습니다. 다음은 Sequelize를 사용하는 것과 로우 쿼리를 사용하는 것의 장단점입니다. Sequelize API 사용시 장점 - JavaScript 코드 스타일을 유지하면서 데이터베이스 작업을 수행할 수 있습니다. - SQL 인젝션 공격으로부터 자동으로 보호해줍니다. - 복잡한 쿼리를 더 쉽게 작성할 수 있습니다. - 코드가 더 읽기 쉽고 유지보수하기 쉬워집니다. 로우 쿼리 사용시 장점 - SQL에 대한 더 깊은 이해가 가능합니다. - 세세한 쿼리 최적화가 가능합니다. 두 방법 간에는 성능 차이가 존재할 수 있지만, 대부분의 일반적인 애플리케이션에서는 이 차이가 실질적으로 크게 중요하지 않을 수 있습니다. 따라서, Sequelize API와 로우 쿼리 둘 다 배우는 것이 가장 좋다고 할 수 있습니다. Sequelize API를 사용하면 코드 작성이 더 쉽고 빠르게 될 것이며, 로우 쿼리에 대한 이해는 데이터베이스 시스템에 대한 더 깊은 이해를 가능하게 해줄 것입니다. 또한, 필요에 따라 세밀한 최적화를 할 수 있게 됩니다. 그러나, 학습을 시작하는 단계에서는 Sequelize API부터 시작하는 것이 좋습니다. 이후에 SQL과 로우 쿼리에 대한 이해도를 높이는 것이 좋습니다. 그리고 복잡한 쿼리나 최적화가 필요한 경우에 로우 쿼리를 사용하는 방법을 고려해 보세요.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!