Come posso impostare un numero massimo di righe nella tabella MySQL?

Devo impostare un limite massimo di righe nella mia tabella MySQL. La documentazione ci dice che si può usare il seguente codice SQL per creare una tabella:

CREATE TABLE `table_with_limit` `id` int(11) DEFAULT NULL ) ENGINE=InnoDB MAX_ROWS=100000 

Ma la proprietà MAX_ROWS non è un limite rigido (“memorizza non più di 100.000 righe ed elimina altro”) ma un suggerimento per il motore di database che questa tabella avrà almeno 100.000 righe.

L’unico modo ansible per risolvere il problema è usare il trigger BEFORE INSERT che controllerà il conteggio delle righe nella tabella ed eliminerà le righe più vecchie. Ma sono abbastanza sicuro che questo è un enorme surriscaldamento: /

Un’altra soluzione è cancellare la tabella con lo script cron ogni N minuti. Questo è il modo più semplice, ma ha ancora bisogno di un altro sistema da tenere d’occhio.

Qualcuno conosce una soluzione migliore? 🙂