Отказаться от подхода "черт-те-как спроектируем БД, а потом будем задалбывать ее сложными SQL-запросами, жрущими непомерные ресурсы на тривиальных задачах". Если id, действительно, "строка случайных символов", то полезной информации в ней ноль. В этом случае сделать рефакторинг и заменить id на автоинкрементное целочисленное поле с индексом и делать выборку простейшимWHERE id > :thePreviousMaxId
. Если в id все-таки имеется осмысленная информация, используемая не только для обеспечения уникальности - добавить автоинкрементный альтернативный ключ, сведя тем самым решение к предыдущему варианту. В любом случае это будет эффективнее, чем заниматься запоминанием ранее полученных id