IT/DataBase7 STRAIGHT_JOIN과 JOIN_ORDER() 차이점 및 실무 적용 사례 복잡한 SQL 쿼리의 성능을 최적화할 때, 옵티마이저가 비효율적인 실행 계획을 세우는 경우가 종종 있습니다. 이를 제어하기 위해 사용하는 대표적인 힌트가 STRAIGHT_JOIN과 JOIN_ORDER()입니다. 이 두 힌트는 조인의 순서를 지정하는 역할을 하지만, 동작 방식과 활용 시점에서 중요한 차이가 있습니다.이번 글에서는 두 힌트의 차이점과 실무에서의 적용 사례를 함께 알아보겠습니다.1. STRAIGHT_JOIN 이란?STRAIGHT_JOIN은 MySQL에서 INNER JOIN처럼 사용할 수 있는 키워드이며, 조인 순서를 FROM 절에 작성한 순서 그대로 강제합니다.SELECT STRAIGHT_JOIN *FROM table_aJOIN table_b ON table_a.id = table_b.a_id.. 2025. 6. 22. MySQL 옵티마이저 힌트 제대로 사용하는 법 MySQL 8.0.2 버전 이상에서 가능합니다.MySQL에서 쿼리 성능을 개선해야 할 때, 옵티마이저 힌트(Optimizer Hint)를 활용하면 실행 계획을 원하는 방향으로 유도할 수 있습니다. 이번 글에서는 힌트의 기본 문법부터 실무에서 자주 사용하는 예시까지 정리해보았습니다. 1. 옵티마이저 힌트란?MySQL은 쿼리를 실행할 때 옵티마이저가 자동으로 최적의 실행 계획을 선택합니다. 하지만 때로는 예상과 다른 계획이 선택되어 성능이 저하될 수 있습니다. 이럴 때 힌트문을 사용하여 옵티마이저가 따를 실행 계획을 직접 지정할 수 있습니다.힌트는 SQL 주석 안에 /*+ ... */ 형태로 작성합니다.SELECT /*+ HINT */ ...FROM ...2. 자주 사용하는 힌트 종류STRAIGHT_JOIN.. 2025. 6. 20. [MySQL] 컬럼 정보 수정하기 컬럼 추가 1. 테이블에 컬럼 맨뒤에 추가 ALTER TABLE [테이블명] ADD [컬럼명] [자료형] ALTER TABLE board ADD board_type varchar(100) NOT NULL; 2. 테이블에 컬럼 맨앞에 추가 ALTER TABLE [테이블명] ADD [새컬럼명] [자료형] FIRST ALTER TABLE board ADD board_id varchar(256) NOT NULL FIRST 3. 테이블에 지정 컬럼 뒤에 추가 ALTER TABLE [테이블명] ADD [새컬럼명] 자료형 AFTER [앞컬럼명] ALTER TABLE board ADD board_contents varchar(256) NOT NULL COMMENT '게시글 내용' AFTER board_id 컬럼 삭제 .. 2023. 7. 20. [MySQL] 데이터베이스, 테이블 정보 조회 Database 목록 조회 -- Database 목록 조회 SHOW databases; Table 목록 조회 -- table 목록 조회 SHOW tables; Table 정보(컬럼 정보) 조회 -- table 정보 조회 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '데이터베이스명' AND TABLE_NAME = '테이블명' ; SHOW FULL COLUMNS FROM '테이블명'; Create Table 정보(컬럼 정보) 조회 -- Create table 조회 SHOW CREATE TABLE '테이블명'; 2023. 7. 19. 이전 1 2 다음 반응형