Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Динамический поиск / 25 сообщений из 33, страница 1 из 2
03.05.2011, 22:04
    #37244464
Erik0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Всем доброго времени суток !

Есть такая задача , реализовать побуквенный вывод данных из базы , тоесть динамический. Например , юзер ввел "А" ему выдаются все записи из определенной таблицы , которые начинаются на "А", ввел юзер "АБ" , ему выдаю все записи начинающиеся на "АБ".

Я чего-то не понимаю , или придется на каждое изменение строки , делать новый запрос в базу ? ... как-то уж совсем печально это выглядит , или возможно при вводе первого символа , получить на стороне сервера все записи начинающиеся с этой буквы , а дальнейший поиск делать по полученным , но это черевато проблемами , например придется отслеживать ситуации , когда строка становится пустой и на сервере обнулять текущие данные и делать новый запрос ... Да и вообще как-то печально выглядит , мож кто подскажет че делать ? ... Эта штука нужна для веб сайта
...
Рейтинг: 0 / 0
03.05.2011, 22:12
    #37244474
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Erik0sпридется на каждое изменение строки , делать новый запрос в базу ? ... как-то уж совсем печально это выглядити в чём печаль? у вас юзер "войну и мир" будет в редактор ввода набирать?
...
Рейтинг: 0 / 0
03.05.2011, 22:20
    #37244481
Erik0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
egorychErik0sпридется на каждое изменение строки , делать новый запрос в базу ? ... как-то уж совсем печально это выглядити в чём печаль? у вас юзер "войну и мир" будет в редактор ввода набирать?

Нет ) Просто думал , что есть более деликатное решение , которое бы уменьшало кол-во запросов.
...
Рейтинг: 0 / 0
03.05.2011, 22:39
    #37244498
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Erik0s,
в вебе так и есть.
Можно усложнить проверкой скорости соединения, как в гугле-поиск (выключать чтобы не висло).
...
Рейтинг: 0 / 0
03.05.2011, 22:41
    #37244500
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Erik0s, их не так уж и много надо, на самом-то деле. Как правило, 3-4 букв достаточно, чтобы сократить поиск до получения искомого или достичь пустого списка. Вполне себе, имхо, нормальное условие. Сервер БД и нужен для того, чтобы исполнять запросы, кмк :-))
...
Рейтинг: 0 / 0
03.05.2011, 22:44
    #37244503
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
egorych,

*Вполне себе, имхо, нормальное решение
...
Рейтинг: 0 / 0
03.05.2011, 22:46
    #37244509
Erik0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Вы меня успокоили ) Спасибо !
...
Рейтинг: 0 / 0
04.05.2011, 07:56
    #37244666
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Erik0sЯ чего-то не понимаю , или придется на каждое изменение строки , делать новый запрос в базу ?
А кэширование зачем? Делаем кэш и радуемся.
...
Рейтинг: 0 / 0
04.05.2011, 07:58
    #37244669
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Я плохо написал.

Суть в том, что можно поставить кэш и спрашивать запросы оттуда. Во-вторых, искать не по одной букве, а по двум - сразу снизить количество запросов.
...
Рейтинг: 0 / 0
04.05.2011, 08:27
    #37244683
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
LeonidvА кэширование зачем? Делаем кэш и радуемся.
Всё зависит от объема контента, который мы хотим покрыть кешем.
P.S. Автор, смотрите в сторону "full text search".
...
Рейтинг: 0 / 0
04.05.2011, 14:29
    #37245445
tadmin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Можно ставить select ... limit N, где N зависит от длины поисковой строки. Чем короче, тем строде лимит.
Еще полезно посылать запрос к БД не сразу после ввода символа, а с задержкой в 80-100 мс. Человек почти не чувствует это, зато, при быстром вводе, почти всегда дело доходит до ввода 2-3 символов. Величина задержки между вводом символов сокращается при вводе все более длинной строки.

Ну и разные partial индексы никто не отменял....
...
Рейтинг: 0 / 0
04.05.2011, 17:20
    #37245924
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Leonidv,
просто, тормозит, обычно HTTP (не СУБД).
А куда там кеш?
...
Рейтинг: 0 / 0
04.05.2011, 17:48
    #37246011
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Petro123Leonidv,
просто, тормозит, обычно HTTP (не СУБД).
А куда там кеш?
HTTP??? В смысле передача байтов по каналу или что?
...
Рейтинг: 0 / 0
04.05.2011, 18:01
    #37246042
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Leonidv,
ну да, транспорт.
Т.е. передача результатов запроса в виде нового фильтрованного списка (гугл).
Моментально работает кеш DevExpress на клиенте до 10 000 записей (перекачает всё на клиента (TCP))
...
Рейтинг: 0 / 0
04.05.2011, 20:30
    #37246219
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Petro123Leonidv,
ну да, транспорт.
Т.е. передача результатов запроса в виде нового фильтрованного списка (гугл).
Моментально работает кеш DevExpress на клиенте до 10 000 записей (перекачает всё на клиента (TCP))
Передать 300 байт это жуткая задача для современных телекоммуникаций?
...
Рейтинг: 0 / 0
04.05.2011, 20:55
    #37246230
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Leonidv,
помилуйте, я не ответственный за ТЕЛЕкоммуникации :)
Возьмите реальный пример гугл-поиск, и посмотрите КАК там всё это работает и скока там байт.
Вам и МСУ указал на проблемы кэша.
...
Рейтинг: 0 / 0
04.05.2011, 22:14
    #37246310
Erik0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Petro123,

Объем там будет небольшой , в базе будет < 1000 записей , да и результаты мало пересекаются , в том смысле что , там будут фамилии , имена людей , после ввода 3-4 символов , уже список будет < 10 элементов.

p.s. MCY спасибо за наводку )
...
Рейтинг: 0 / 0
04.05.2011, 22:40
    #37246326
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Erik0s,
у Серверов есть такая шутка
Если ты сервер, не суетись под клиентом (с)
:)
...
Рейтинг: 0 / 0
04.05.2011, 22:52
    #37246339
Erik0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Petro123,

Надо будет запомнить
...
Рейтинг: 0 / 0
04.05.2011, 23:18
    #37246368
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Erik0sОбъем там будет небольшой , в базе будет < 1000 записей , да и результаты мало пересекаются , в том смысле что , там будут фамилии , имена людей , после ввода 3-4 символов , уже список будет < 10 элементов.

и ради этого все затеяно? Оставьте сервер в покое.
...
Рейтинг: 0 / 0
04.05.2011, 23:47
    #37246394
Erik0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
iscrafmErik0sОбъем там будет небольшой , в базе будет < 1000 записей , да и результаты мало пересекаются , в том смысле что , там будут фамилии , имена людей , после ввода 3-4 символов , уже список будет < 10 элементов.

и ради этого все затеяно? Оставьте сервер в покое.

Ну , жаль конечно , что по объемам гугл не догоняю )) Но все дело в мелочах ... Как говорится "мелочь , а приятно "
...
Рейтинг: 0 / 0
04.05.2011, 23:57
    #37246410
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
Erik0siscrafmпропущено...

и ради этого все затеяно? Оставьте сервер в покое.

Ну , жаль конечно , что по объемам гугл не догоняю )) Но все дело в мелочах ... Как говорится "мелочь , а приятно "
да гугл то здесь причем? Загружайте при таких объемах все на клиента и ищите там во всех возможных вариантах.
...
Рейтинг: 0 / 0
05.05.2011, 00:29
    #37246434
Erik0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
iscrafm,

Я Вас не так понял , сорри )
...
Рейтинг: 0 / 0
05.05.2011, 08:51
    #37246547
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
iscrafmОбъем там будет небольшой , в базе будет < 1000 записей
Если данные редко изменяемы - кешируйте.

P.S. Вот тут писал про архитектуру с кешированием: http://www.sql.ru/forum/actualthread.aspx?tid=819193
...
Рейтинг: 0 / 0
05.05.2011, 09:45
    #37246615
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамический поиск
МСУiscrafmОбъем там будет небольшой , в базе будет < 1000 записей
Если данные редко изменяемы - кешируйте.

P.S. Вот тут писал про архитектуру с кешированием: http://www.sql.ru/forum/actualthread.aspx?tid=819193
я этого не говорил
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Динамический поиск / 25 сообщений из 33, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]