sql >> Base de Datos >  >> RDS >> Mysql

Cómo eliminar continuamente cualquier cosa anterior a las 10 entradas más recientes de una base de datos MySQL (posiblemente en JPQL/JPA)

Este es un problema complejo, porque a menos que su tabla no esté vinculada a ninguna otra tabla, es muy posible que tenga la fila más reciente en la tabla A haciendo referencia a una fila muy antigua en la tabla B. En este caso, aunque la fila de la tabla B es muy antigua , no puede eliminarlo sin romper la coherencia de su base de datos.

Hacerlo "continuamente" es aún más difícil (léase:imposible). Yo lo haría primero

  • examinar si es realmente necesario. Los discos son baratos y 10 entradas en una base de datos empresarial no es nada.
  • implemente algún mecanismo de purga y ejecútelo de vez en cuando, cuando nadie más utilice la base de datos.