Я не знаю, насколько лучше вы можете сделать с помощью хранимой процедуры в MySql, но вы определенно можете сделать лучше, чем 100500 запросов:
SELECT name FROM table WHERE name LIKE 'somename%' ORDER BY name DESC LIMIT 1
В этот момент вы знаете, что вы можете увеличивать число в конце name
, и результат не будет использоваться.
Я закрашиваю мелкий шрифт (этот подход никогда не найдет и не заполнит какие-либо «дыры» в схеме именования, которые могут существовать, и все еще не гарантируется, что имя будет доступно из-за условий гонки), но в попрактиковаться в этом можно легко.