Разбиение на серверную сторону с сортировкой и поиском и поддержкой нескольких языков - PullRequest
0 голосов
/ 02 августа 2011

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

В настоящее время наше приложение поддерживает несколько языков посредством переводов баз данных, поэтому все наши объекты выглядят так:

            ENTITY X TABLE
---------------------------------------------------------------------
idEntity |   code        |    other attributes.... 
---------------------------------------------------------------------
 1          entity1.name         ....
 2          entity2.name         ....

А затем таблица «перевода» со всеми переводами:

        TRANSLATIONS TABLE
---------------------------------------------------------------------
idTranslation  |   code        |    idLanguage     |   translation
---------------------------------------------------------------------
 1               entity1.name         1                 myEntity_EN
 2               entity1.name         2                 myEntity_FR   

Пока что это прекрасно работает, но проблема в том, что у нас есть веб-приложение, отображающее данные, и мы реализуем разбиение на страницы на стороне сервера, и все наши таблицы данных должны быть доступны для поиска и сортировки по всем отображаемым столбцам, а также Конечно, поиск и сортировка должны основываться на переводах, а не на столбцах кода.

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

Итак, есть ли рекомендации следовать этому (я думаю) довольно распространенному сценарию ??

Заранее спасибо!

1 Ответ

0 голосов
/ 02 августа 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...