DataGrip(2)
-
EXPLAIN 사용법 찍먹 해보기
MySql의 옵티마이저가 항상 최적의 쿼리 최적화를 하는 것은 아니기 때문에 EXPLAIN을 사용해 실행 계획을 확인하는 것은 중요하다. 부끄럽게도 나는 DB를 잘 사용하고 다루는 것에 많이 부족하다.최근 Real Mysql 8.0이라는 좋은 책을 읽었지만 내용도 많고 나에게는 어려운 부분이 많지만 그 중에서도 특히 EXAPLIN 활용에 대한 부분은 요약해서 기록하는게 필요 할 것 같다는 생각에 포스트로 작성하게 되었다.EXAPLIN 이란?SQL 데이터베이스에서 EXPLAIN은 쿼리의 실행 계획(execution plan)을 보여주는 명령어로, 개발자와 DBA가 쿼리의 성능을 분석하고 최적화하는 데 사용된다. 이 명령어는 쿼리를 실제로 실행하지 않고, 데이터베이스가 어떻게 쿼리를 처리할지 계획을 보여준다..
2025.03.26 -
조인 테이블이 있으면 다대다 관계다?
회사에서 ORM을 사용하고 있는데 내가 보기에는 @ManyToMany를 사용하는게 적절해 1대다 관계를 양측에 만들고 중간테이블을 엔티티로 만들어 놓을 것을 보면서 다대다 관계에 대한 이야기를 나누었는데 상대방이 생각하는 다대다 테이블과 내가 생각하는 다대다 관계 테이블이 달라서 이야기를 나누다가 작성하게 되었다.결론만 간략하게 이야기 한다면 나의 의견은 중간테이블(User_Project)이 존재하는 User 테이블과 Project 테이블이 존재 한다면 User 테이블과 Proejct 테이블은 서로 N:M 관계 즉 다대다 관계라고 보는것이 내 생각이였고 상대방은 User테이블에 Project테이블의 FK 값이 직접적으로 존재하지 않으니 다대다 관계가 아니라는 것이다. 중간테이블을 만들게 되면 User테이..
2024.12.28