что вы определяете как лучший ?
если вы имеете в виду лучший = гибкий, я бы использовал представления данных в таблицах данных, где вы можете установить фильтр (аналогично sql-where) и сортировку (аналогично sql-order-by). Эти значения являются простыми строками, которые могут храниться в установочных файлах.
однако, если производительность является проблемой для вас, тогда база данных должна выполнить фильтрацию / сортировку для вас независимо от наборов данных