Я работаю над большим проектом, в котором я должен предоставить пользователю эффективный способ ввода данных в форму.
Три поля этой формы требуют значения из подмножества общего источника данных (таблица SQL). Я использовал JQuery и JQuery UI для создания автозаполнения, которое отправляет сообщения в общий HttpHandler.
Внутренне обработчик использует Linq-to-sql для получения данных, необходимых из этой конкретной таблицы. Таблица содержит около 10 различных столбцов, и выражение linq использует SqlMethods.Like () для сопоставления одного поискового запроса в каждом из этих 10 полей.
Проблема в том, что эта таблица содержит около 20 тыс. Строк. Автозаполнение работает безупречно, примите, что большой объем данных вводит ошибки, около 6 секунд или около того (при отладке на моем локальном компьютере), прежде чем он появится.
У автозаполнения JqueryUI есть задержка 0, запросы на клавишу 3, и результат публикации выполняется в многострочных опциях в стиле Facebook. (Мне почти пришлось переписать плагин автозаполнения ...).
Итак, проблема в скорости передачи данных. Любые мысли о том, как ускорить это? У меня были только две мысли: кэшировать данные (как / где?); или использовать для чтения данных прямой читатель sql?
Любые идеи будут с благодарностью!
Спасибо,
<bleepzter/>