Автозаполнение строки данных из огромной таблицы - PullRequest
1 голос
/ 08 ноября 2011

Мне нужно предоставить AutocompleteBox, который даст пользователю возможность вводить данные. Необходимо заполнить строковое поле (например, UserName). Проблема в том, что исходная таблица БД состоит из сотен тысяч записей с 10 полями.

Как мне справиться с этим в Silverlight?

1 Ответ

3 голосов
/ 08 ноября 2011

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

Second, Я рекомендую разбивать на страницы результаты автозаполнения.Не делайте начальный запрос, пока пользователь не введет два или три символа в AutoCompleteBox.Как только они это сделают, запросите базу данных, чтобы получить подмножество значений, которые ближе соответствуют их критериям.Если они удаляют символы, вам нужно будет повторно запросить таблицу, чтобы изменить значения источника данных.

Ключ в том, чтобы: 1) индексировать таблицу на основе строковых значений и 2) возвращать как можно меньшеот сервера к клиенту, так что вы сохраняете полезную нагрузку вашей сети небольшой.

...