2010-05-31 4 views
2

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

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

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

ответ

1

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

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

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

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

+0

Спасибо за ваш ответ, это то, что я, хотя. Но я оставлю это открытым, чтобы узнать, есть ли у кого-либо другие мнения. –

Смежные вопросы