Как может поддерживаться разбиение на страницы, когда порядок сортировки должен соответствовать конкретной культуре? - PullRequest
1 голос
/ 20 сентября 2019

В качестве бэкэнда для нашего приложения используется SQL Server 2016 с сопоставлением _SC.Само приложение «осведомлено о локалях» и поддерживает клиентов, работающих в разных локалях.При этом данные в базе данных могут быть на «любом языке».Существует запрос на размещение данных, отображаемых в пользовательском интерфейсе, в порядке сортировки на основе языкового стандарта пользователей во всем наборе результатов.Вместо того, чтобы передавать весь набор результатов на верхние уровни и позволить им выполнять разбиение по страницам, команда оценивает

  1. Передача культуры со слоя пользовательского интерфейса через разные уровни вплоть до базы данных,
  2. сопоставляет культуру с определенным сопоставлением на SQL Server, а
  3. имеет сортировку и страницу SQL Server на основе этого сопоставленного сопоставления.Есть ли лучшие способы сделать это или это не хорошая идея, и нам лучше позволить верхним уровням отвечать за подкачку страниц?В соответствии с нашими рекомендациями, сортировка в базе данных запрещена, но я думаю, что это один из вариантов использования, где эти рекомендации должны быть смягчены.

Я исследовал Поддерживает ли Microsoft SQL Server локализованную сортировку имен? и https://social.technet.microsoft.com/wiki/contents/articles/31194.t-sql-sort-data-by-multiple-languages.aspx, и эта концепция представляет собой «объединение» этих двух подходов

1 Ответ

0 голосов
/ 20 сентября 2019

БД сделает лучшую работу по сортировке, поэтому передайте ее.Любые другие методы будут включать в себя возврат всех результатов на средний уровень, так что это дорогостоящие термины или ресурсы, а также переизобретения того, для чего предназначены БД.

Если ваши рекомендации предлагают не использовать БД для сортировки, измените ваши рекомендации.Это просто глупо.

...