меня почти всегда все решения бьются на пункте "главное, чтобы сортировка была стабильной".
Из предложений, вроде гитхаба и подобных api, видел сортировки по id и timestamp создания записи. То есть довольно уникальным вещам.
По моей практике бизнесу это почти никогда не достаточно. И им надо, например, по не уникальным названиям или создателю записи отсортировать.
Про курсоры на первые/последний 5 страниц не совсем понял. То есть всё равно получаем из базы записей с этих страниц и генерируем страницы? Относительно большой минус по сравнению с тривиальным расчетом страниц при limit/offset подходе.
ну, сортировка может быть стабильной в любом случае. Если есть timestamp, хорошо. Если нет timestamp, то стабильность можно обеспечить путем вторичной сортировки по тому же первичному ключу (или по его хэшу, если возможность вычислить относительный порядок ключей нежелательна), который, я подразумеваю, есть всегда. Т.е. после любой пользовательской сортировки, которая возможно имеет повторяющиеся ключи, потом сортировать по тайстампу (если есть), потом по хешу первичного ключа - и стабильность достигнута.
Обсуждают сегодня