Вы можете использовать любой из них. Обычно они оба должны быть O (nlogn) (поскольку в базе данных также должен применяться алгоритм сортировки, и он не лучше алгоритма сортировки в коллекциях).
Я бы использовал базу данных orderBy, если это возможно (*) , поскольку вы можете ограничить объем данных, отправляемых из базы данных (по крайней мере, в тех случаях, когда вас интересует только первая часть соответствующих данных).
(*) Существуют ситуации, когда вы хотите, чтобы вы реализовали «странный» порядок сортировки (ie «сортировка по 2-й букве третьего слова»), и тогда лучше сделать это в Java, но в большинстве случаев порядокBy достаточен и следовательно, предпочтительнее.