[
  {
    "type": "add_index",
    "description": "Add (status, completed_at) index on task_executions so dashboard throughput counts (countCompletedSince/countFailedSince/getAverageDurationSince) stop full-scanning the 6M-row table",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'task_executions' AND INDEX_NAME = 'idx_status_completed'",
    "sql": "ALTER TABLE `task_executions` ADD INDEX `idx_status_completed` (`status`, `completed_at`), ALGORITHM=INPLACE, LOCK=NONE"
  },
  {
    "type": "add_index",
    "description": "Add (queued_at) index on task_executions so countQueuedSince and any ORDER BY queued_at stop full-index-scanning the 6M-row table",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'task_executions' AND INDEX_NAME = 'idx_queued_at'",
    "sql": "ALTER TABLE `task_executions` ADD INDEX `idx_queued_at` (`queued_at`), ALGORITHM=INPLACE, LOCK=NONE"
  }
]
