-- DDL 002: 벤더사-인플루언서 매핑 테이블 인덱스 추가
-- 생성일: 2025-07-23
-- 목적: 성능 최적화를 위한 인덱스 추가

-- 1. 중복 방지를 위한 유니크 인덱스
-- 동일한 벤더사-인플루언서 조합에서 동일한 상태의 중복 방지
ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD UNIQUE INDEX `unique_vendor_influencer_status` (`VENDOR_SEQ`, `INFLUENCER_SEQ`, `STATUS`);

-- 2. 검색 성능을 위한 인덱스들
ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD INDEX `idx_vendor_seq` (`VENDOR_SEQ`);

ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD INDEX `idx_influencer_seq` (`INFLUENCER_SEQ`);

ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD INDEX `idx_status` (`STATUS`);

ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD INDEX `idx_request_type` (`REQUEST_TYPE`);

ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD INDEX `idx_is_act` (`IS_ACT`);

ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD INDEX `idx_request_date` (`REQUEST_DATE`);

ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD INDEX `idx_expired_date` (`EXPIRED_DATE`);

-- 3. 복합 인덱스 (자주 함께 사용되는 조건들)
ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD INDEX `idx_vendor_status_active` (`VENDOR_SEQ`, `STATUS`, `IS_ACT`);

ALTER TABLE `VENDOR_INFLUENCER_MAPPING` 
ADD INDEX `idx_influencer_status_active` (`INFLUENCER_SEQ`, `STATUS`, `IS_ACT`);