009_add_indexes_after_columns_exist.sql 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. -- DDL 009: 컬럼 존재 확인 후 인덱스 추가
  2. -- 모든 필요한 컬럼이 추가된 후에 실행하세요
  3. -- 주의: 이 파일을 실행하기 전에 fix_missing_columns.sql을 먼저 실행하세요
  4. -- 1. 기본 인덱스들 (컬럼이 존재하는 경우에만 추가)
  5. -- CATEGORY 컬럼용 인덱스
  6. ALTER TABLE `VENDOR_LIST` ADD INDEX `idx_category` (`CATEGORY`);
  7. -- REGION 컬럼용 인덱스
  8. ALTER TABLE `VENDOR_LIST` ADD INDEX `idx_region` (`REGION`);
  9. -- APPROVAL_STATUS 컬럼용 인덱스
  10. ALTER TABLE `VENDOR_LIST` ADD INDEX `idx_approval_status` (`APPROVAL_STATUS`);
  11. -- COMPANY_NAME 인덱스 (기존 컬럼)
  12. ALTER TABLE `VENDOR_LIST` ADD INDEX `idx_company_name` (`COMPANY_NAME`);
  13. -- 2. USER_LIST 인덱스들
  14. -- INFLUENCER_TYPE 컬럼용 인덱스
  15. ALTER TABLE `USER_LIST` ADD INDEX `idx_influencer_type` (`INFLUENCER_TYPE`);
  16. -- PRIMARY_CATEGORY 컬럼용 인덱스
  17. ALTER TABLE `USER_LIST` ADD INDEX `idx_primary_category` (`PRIMARY_CATEGORY`);
  18. -- VERIFICATION_STATUS 컬럼용 인덱스
  19. ALTER TABLE `USER_LIST` ADD INDEX `idx_verification_status` (`VERIFICATION_STATUS`);
  20. -- FOLLOWER_COUNT 컬럼용 인덱스
  21. ALTER TABLE `USER_LIST` ADD INDEX `idx_follower_count` (`FOLLOWER_COUNT`);
  22. -- EMAIL 인덱스 (기존 컬럼)
  23. ALTER TABLE `USER_LIST` ADD INDEX `idx_email` (`EMAIL`);
  24. -- NICK_NAME 인덱스 (기존 컬럼)
  25. ALTER TABLE `USER_LIST` ADD INDEX `idx_nick_name` (`NICK_NAME`);
  26. -- 3. 복합 인덱스들 (모든 관련 컬럼이 존재할 때만 추가)
  27. -- VENDOR_LIST 복합 인덱스
  28. ALTER TABLE `VENDOR_LIST` ADD INDEX `idx_category_region_status` (`CATEGORY`, `REGION`, `IS_ACT`);
  29. ALTER TABLE `VENDOR_LIST` ADD INDEX `idx_approval_status_date` (`APPROVAL_STATUS`, `APPROVED_DATE`);
  30. -- USER_LIST 복합 인덱스
  31. ALTER TABLE `USER_LIST` ADD INDEX `idx_type_category_verified` (`INFLUENCER_TYPE`, `PRIMARY_CATEGORY`, `VERIFICATION_STATUS`);
  32. ALTER TABLE `USER_LIST` ADD INDEX `idx_category_follower_verified` (`PRIMARY_CATEGORY`, `FOLLOWER_COUNT`, `VERIFICATION_STATUS`);
  33. ALTER TABLE `USER_LIST` ADD INDEX `idx_member_type_active_status` (`MEMBER_TYPE`, `IS_ACT`, `STATUS`);