В целом все решения могут работать, это зависит от конкретных требований - мои мысли:
1. Используйте отдельные SQL-запросы для возврата предварительно отсортированных данных в программу
Хорошо работает, если пользователь заранее определяет критерии сортировки. Что если она захочет прибегнуть к помощи после поиска данных (приводит к # 2)? Может иметь смысл определить сортировку по умолчанию для каждого запроса или параметр, влияющий на последовательность сортировки, на основе определенных критериев, таких как роль пользователя.
2. Используйте локальный алгоритм сортировки для сортировки всего набора данных
Как указано выше, комбинация # 1 и # 2 может быть тем, что вам нужно.
3. Используйте локальную базу данных SQLite, чтобы скопировать весь набор данных, а затем запросите сортировку в локальной базе данных
Абсолютно другая стратегия, несколько вещей, о которых вам нужно заботиться:
- синхронизация данных
- безопасность; работая на крупных предприятиях, я знаю, что некоторые специалисты по безопасности (например, аудиторы) сходят с ума, говоря о локальной репликации данных
- автономные возможности (преимущество)
- локальное хранилище
Персональный вариант: я бы выбрал комбинацию № 1 и № 2. Кроме того, я бы попытался определить интерфейс способом, поддерживающим прокрутку (например, «получить строки №20-100»).
Не точный ответ, но мое мнение основано на фактах, которые вы предоставили ...