Eliminar registros de la tabla, si supera los 100.000 registros.
Tengo una condición, en la que en los registros de auditoría, si los registros exceden los 100k, entonces borro los registros antiguos anteriores. No quiero borrar todos los 100k registros, sino solo los registros antiguos. Quiero mantener los últimos 100k registros.
A continuación se muestra una consulta que he intentado, por favor, alguien me ayude, cómo preparar la consulta.
DELETE FROM audit_logs WHERE
id NOT IN (SELECT id FROM audit_logs ORDER BY ID DESC LIMIT 100000);
davy.ai
Consulta de MySQL para eliminar registros antiguos y mantener los últimos 100.000 registros en los registros de auditoría
Si desea eliminar los registros antiguos de su tabla de registros de auditoría y mantener solo los últimos 100.000 registros, puede utilizar la siguiente consulta de MySQL:
Esta consulta eliminará todos los registros en la tabla de registros de auditoría que no tengan un ID en los últimos 100.000 registros, que son seleccionados por la subconsulta que ordena los registros por ID en orden descendente y selecciona solo los primeros 100.000 registros.
Al utilizar una subconsulta para seleccionar los últimos 100.000 registros, puede garantizar que solo se eliminarán los registros antiguos mientras que los registros más recientes se mantienen en su tabla de registros de auditoría.