¿Cómo puedo detectar filas redundantes en la tabla?

estoy siguiendosolución # 1 deesta respuesta. Después de un tiempo, habrá algunas filas redundantes en la tabla. Supongamos esta tabla:

+------+------------------+
| user |     cookie       |
+------+------------------+
| 1    | ojer0f934mf2...  |
| 2    | ko4398f43043...  |
| 2    | 34fjkg3j438t...  |
| 3    | 0243hfd348i4...  |
+------+------------------+

cuando usuario1 elimina las cookies de su navegador, aún existe esta fila en la base de datos:

| 1    | ojer0f934mf2...  |

Y cuando abre mi sitio web, debe iniciar sesión nuevamente. Así que aquí está la tabla:

+------+------------------+
| user |     cookie       |
+------+------------------+
| 1    | ojer0f934mf2...  | -- now this row is useless anymore
| 2    | ko4398f43043...  |
| 2    | 34fjkg3j438t...  |
| 3    | 0243hfd348i4...  |
| 1    | 0243hfd348i4...  |
+------+------------------+

Seguramente en el futuro, el número de tales filas inútiles aumentará. Bueno, ¿cómo puedo manejarlo? En realidad puedo crear unEVENT limpiar esa mesa(por día) mediante la eliminación de filas redundantes. Pero aquí está el problema: ¿cómo puedo detectarlos? ¿Cómo puedo especificar que una fila es inútil?

EDITAR: Puedo agregar una nueva columna y almacenar la marca de tiempo, y luego eliminar todas las filas de marcas de tiempo antiguas por unEVENT (o un trabajo cron). Pero esa no es una solución perfecta. Me gusta que una cookie sea válida hasta que el usuario cierre sesión(así que no me gusta ninguna limitación (o tiempo de caducidad) para las cookies).

Ahora estoy buscando una solución para determinar filas redundantes(no filas viejas).