alfront
Recurso gratuito

Las trampas de SQL que más se repiten en entrevistas

Las preguntas de bases de datos rara vez son «escribime un JOIN»: son el índice que no se usa, el nivel de aislamiento que no alcanza, la invariante que va en la base. Esta guía junta las trampas más comunes, del mismo contenido que usamos adentro de alfront.

Las tres, con su respuesta

Están completas acá abajo, sin dejar el mail ni registrarte.

Índices

¿Por qué esta query no usa el índice?

Te preguntan "¿por qué esta query no usa el índice?". Las causas típicas: una función sobre la columna (`WHERE lower(email) = ...` sin índice funcional), un tipo de dato que no matchea, o el planner decidiendo que un seq scan es más barato porque la tabla es chica.

Transacciones

¿Repeatable Read alcanza para evitar write skew?

Confundir Repeatable Read con Serializable. En Postgres, Repeatable Read es snapshot isolation y NO previene write skew: dos transacciones que leen el mismo estado y escriben en filas distintas pueden violar una invariante global. Solo Serializable lo evita (a costa de reintentos).

Consistencia

¿Alcanza con validar en la aplicación?

Asumir que validar en la aplicación alcanza. Con dos servicios escribiendo, un job de migración, o dos requests concurrentes, la validación de app se saltea o compite. La invariante crítica va en la base con un constraint; lo demás es UX.