El primer bug borrado

Núcleo · primary-key, anti-join, limit

Dada una tabla bugs(id, token, title, category, device, reported_at, created_at, updated_at)

con unos 10 millones de filas, algunos bugs se borraron y dejaron huecos en la secuencia de ids.

Encuentra el menor id mayor que 5.000.000 que no tiene ningún bug. Devuelve la columna (missing_id).

Columnas esperadas

missing_id

Pistas

Pista 1: cómo es un hueco

Un id x falta justo después de un bug b cuando ningún bug tiene id = b.id + 1. Comprobarlo es una sola búsqueda por clave primaria, por ejemplo LEFT JOIN bugs n ON n.id = b.id + 1 ... WHERE n.id IS NULL.

Pista 2: detente en el primero

Recorre los bugs desde el id 5.000.000 hacia arriba en el orden de la clave primaria y detente en el primero cuyo id siguiente falte: ORDER BY b.id LIMIT 1. MIN() devuelve el mismo número pero antes tiene que mirar todos los candidatos.