MySQL SQL Как я могу отсортировать таблицу на основе Locale? - PullRequest
2 голосов
/ 31 мая 2010

Мое приложение использует функцию поиска, иногда поиск может возвращать набор результатов с тысячами элементов, поэтому я использую ленивую загрузку и получаю только первичные ключи.

Проблема в том, что мое приложение локализовано, и мне нужно отсортировать эти первичные ключи в алфавитном порядке, используя другой столбец в таблице с именем, которое позже локализуется в коде (используя типичный файл пар ключ-значение .properties) эта сортировка зависит от локали.

Я знаю, что одним из решений было бы иметь другую таблицу, которая в основном содержит именно то, что есть в моем файле .properties, который я использую для локализации. Но это похоже на крайнее решение, есть ли другой способ, которым я могу достичь этого? Заранее спасибо.

1 Ответ

1 голос
/ 31 мая 2010

Нет, не совсем.

По сути, вы говорите: «получить первичные ключи из базы данных, использовать файл .properties для имитации другой базы данных, сортировать в приложении», правильно? База данных на самом деле не входит в уравнение после шага 1.

Решение, которое вы предлагаете (импортировать файл .properties в таблицу, отсортировать там), на самом деле звучит вполне разумно на основании предоставленных вами данных. Как часто эти файлы .properties меняются? Не могли бы вы автоматизировать процесс? (например, повторно импортировать измененные файлы)

Кроме того, база данных хороша для сортировки и фильтрации больших объемов данных; Выполнение этого на другом уровне будет в 90% случаев менее эффективным - в долгосрочной перспективе переизобретать колесо базы данных вне базы данных будет довольно болезненно.

...