Скажем, у меня есть следующая таблица, используемая для получения списка дельта-обновлений от клиента.Когда запись статьи создается, изменяется или удаляется, в таблицу ниже добавляется строка.
id | article_id | uuid
---|------------|-------------------------------------
1 | 56 | 78b69fa0-480b-11e1-b86c-0800200c9a66
2 | 23 | 87c4fe60-480b-11e1-b86c-0800200c9a66
3 | 78 | 903973f0-480b-11e1-b86c-0800200c9a66
4 | 23 | bb3972d0-480b-11e1-b86c-0800200c9a66
5 | 28 | f05fdd00-480b-11e1-b86c-0800200c9a66
Клиент запоминает uuid из последней синхронизации и включает это в следующий запрос.Скажем, клиент уже знает об изменениях 1 и 2 выше;Затем он включит в запрос uuid 87c4fe60-480b-11e1-b86c-0800200c9a66 (id = 2).Теперь мне нужно вернуть строки 3-5.Если uuid от клиента отсутствует в таблице, и должна появиться ошибка.
Простой способ перебора - это сначала выполнить поиск на основе uuid, а затем использовать идентификатор найденной записи об изменении (id = 2 в данном случае) к поиску, где id> "found_id" (id> 2 в этом случае).
Есть ли более эффективный способ сделать запрос, то есть как-то выразить 'дай мне все строкипосле этого uuid, где строки сортируются по идентификатору по возрастанию '?