Czuję, że robienie tego co godzinę ignoruje prostszą opcję.
Inną opcją jest usunięcie najstarszego wpisu za każdym razem, gdy tworzony jest nowy wpis. Eliminuje to potrzebę zadania crona, które zrzuca całą tabelę, ponieważ może to przerwać czat, usuwając wpisy dokonane przed chwilą, które nadal są istotne dla czatu.
Więc w swoim sql „addMessage” po prostu usuń najstarszy wpis przed przesłaniem nowego.