Efter lite intrimning så kom jag fram till den här SQL-satsen som blir lite snabbare särskilt om det är många rader man vill behålla:
Kod:
DELETE FROM `shoutbox`
WHERE message_id <=
(
SELECT message_id
FROM
(
SELECT message_id
FROM `shoutbox`
ORDER BY message_id DESC
LIMIT 1 OFFSET 30 -- Behåll så här många tupler
) foo
);