> select MAX(substring(column)) from tbl_name;
что же ты не написал, что это строки? ты не о фиговости переспашивай, а вопрос нормально пиши
Это плохо тем, что нельзя использовать индексы или иные средства оптимизации.
> Если этот алгоритм имеет какие-либо явные недостатки или есть более удобный,
да, один большой недостаток - в каждой ячейке должна быть _неделимая_ часть информации. К примеру, описывать списки, как ты, через какие либо разделители (у тебя по смещению в байтах) - плохо, не логично, усложняет задачу.