로그 관련 테이블 인덱스 현황
- system_event - Read 있음, 인덱스 필요 ✅
- event_log - Write-only, 인덱스 불필요 ❌
- task_execution/control_execution은 인덱스 추가 필요합니다!
1️⃣ system_event ✅ (매우 좋음)
// packages/core/src/system-event/system-event.sql.ts (line 29-59)\
// ✅ 6개 인덱스
// ✅ 시계열 쿼리 최적화 (created_at)
// ✅ 필터링 최적화 (entity_type, entity_id)
// ✅ JSONB 검색 최적화 (GIN 인덱스)
2️⃣ event_log ❌ (심각!)
// ❌ 인덱스 0개 (Primary key만)
// ❌ eventType 인덱스 없음
// ❌ processedAt 인덱스 없음
사용 패턴:
// packages/core/src/sync-state/index.ts (line 46-50)
3️⃣ task_execution ❌❌ (매우 심각!)
// packages/core/src/task-execution/task-execution.sql.ts (line 13-31)
4️⃣ control_execution ❌❌ (매우 심각!)
실제 사용 (Asset.getAssetControls):
// packages/core/src/asset/index.ts (line 1539-1548)
5️⃣ activity ⚠️ (큰 문제는 아니지만)
// packages/core/src/activity/activity.sql.ts (line 11-24)
심각도 순위
테이블 | 인덱스 | 심각도 | 이유 |
system_event | 6개 ✅ | 없음 | 완벽 |
task_execution | 0개 ❌ | 🔴 심각 | 시계열 데이터 + 자주 조회 + FK 없음 |
control_execution | 0개 ❌ | 🔴 심각 | 시계열 데이터 + 자주 조회 + FK 없음 |
event_log | 0개 ❌ | 🟡 중간 | 단순 idempotency check만 함 |
activity | 0개 ⚠️ | 🟢 낮음 | CRUD 적음, 조회 빈도 낮음 |
현재 Asset 테이블 인덱스 (line 79-87)
// ❌ 인덱스 3개만 있음
문제: 핵심 컬럼에 인덱스 없음
비교: system_event vs asset
테이블 | 인덱스 수 | 주요 인덱스 |
system_event | 6개 ✅ | entity_type, entity_id, created_at, 복합 인덱스들 |
asset | 3개만 ❌ | archived, status+archived, archived+created_at |
Seonglae Cho