![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Господа, а кто как борется с проблемой больших ответов ?
(фильтры на клиенте не бум рассматривать) Как кто реализует постраничный вывод ? Мож ещё есть какие то решения ? |
|||
|
||||
| 3x3 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 17.9.2006 Репутация: 5 Всего: 8 |
А в чем заключается ваша "Проблема больших ответов"?
-------------------- Зачем платить больше, когда можно заплатить дважды? |
|||
|
||||
| ALKS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
мне вот тоже интересно, что за проблема такая?
|
|||
|
||||
| KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
ну, например пользователь хочет получить всех клиентов - это в ХМЛ окло 100 МБт - передавать такие данные клиенту наверное не правильно ... (представте если гугл вернёт вам результат запроса одним ответом)
|
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 7 Всего: 54 |
Один из самых верных способов борьбы с этим - недопущение
Вместо выдачи клиенту всех данных из интересующей его таблицы, следует заставить его воспользоваться операцией поиска, а при количестве результатов, превышающем заданный порог - предложить уточнить критерии поиска. -------------------- ![]() ![]() |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
У тебя поисковик распределённый?
Есть много способов от Live query до распределения индекса по клиентам (Peer-to-Peer). |
|||
|
||||
| Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Выдавать по кускам.Например страница 1,2,3,4,5.....Показывать клиенту только нужные данные.
Это сообщение отредактировал(а) Tony - 2.10.2006, 10:10 |
|||
|
||||
| 3x3 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 17.9.2006 Репутация: 5 Всего: 8 |
А в каком случае с точки зрения бизнес-логики пользователю может потребоваться вытаскивать всех клиентов? Нормально человеку не нужен такой объём данных, что бы "почитать". А если он собирается их как-то постпроцессить (например контекстно что-то искать на полученной странице средствами браузера) - значит вы не предложили ему достаточный уровень сервиса, где бы он мог осуществить выборку того, что его интересует без запроса всего, что есть в базе. -------------------- Зачем платить больше, когда можно заплатить дважды? |
|||
|
||||
| KostenkoSergey |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Нет, не поисковик. Просто по Украине много филиалов и есть скажем таблица с клиентами - ессно пользователи системы (клиент на делфи, взаимодействие через хмл) не всегда отдаёт себе отчёт в количестве запрашиваемых данных ... А что такое Live query и распределение индекса по клиентам ? А как можно организовать постраничный вывод ?
я специально вначале оговорился, что (фильтры на клиенте не бум рассматривать) |
||||
|
|||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 2 Всего: 360 |
Live query, это когда клиент запрашивает у серверов конкретные результаты. Причём какие именно, решает клиент. Например выдача фамилий по алфавиту. Сперва клиент опрашивает сервера, где сколько фамилий и на какую букву, затем локально делает список. В списке стоят в правильном порядке сервера. В конце опрашивает например сервер З, фамилии с 7-8, сервер А, фамилии с 5-10. Выбирая таким образом список в правильном порядке.
То есть индех создаётся локально. Дерево букв с указателями на сервера, содержащие фамилии с них начинающиеся. Распределение индекса - примерно тоже самое, но индех не лежит в одном месте, а распределён по серверам Каждый сервер например отвечает за одну букву. На клиенте ты знаешь, что если спросили фамилии начинающиеся с "А", информация о них лежит на сервере А. Запрашиваешь на севере А инфу частями по мере того как юзер их запрашивает. За тем переходишь к букве Б. |
|||
|
||||
| 3x3 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 261 Регистрация: 17.9.2006 Репутация: 5 Всего: 8 |
А при чем тут клиент? У вас приложение на сервере крутится и вы его собираетесь снабдить описанной функциональностью: выдавать клиенту полный список всех пользователей. Я лишь поинтересовался - в каких ситуациях данная функциональность востребована, но из вашего ответа не понял. Это сообщение отредактировал(а) 3x3 - 2.10.2006, 15:15 -------------------- Зачем платить больше, когда можно заплатить дважды? |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |