Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

Поиск и скорость поиска   Найти похожие ветки 

 
AlexLines   (2007-03-02 15:53) [0]

Уважаемые знатоки. Есть БД Парадокс в ней 11 тыс. записей поле memo

Провожу поиск по полю memo

Query1.SQL.Add("SELECT * FROM My.db Where BodyMemo like "%А%"");

В том случае, если искать А или В или К и т.д. происходит отбор практически всех записей (11 тыс.). В том случае, если слово Александр допустим 500 записей.

В первом случае поиск происходит за 15 секунд, во втором менее 1 секунды.

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

Если найдено 11 тыс. записей не понятно на что уходит целых 14 секунд?

Заранее благодарю


 
Desdechado ©   (2007-03-02 15:57) [1]

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


 
AlexLines   (2007-03-02 16:04) [2]

Понял, спасибо

А можно ли в этом случае ускорить поиск. Если да то какие пути возможны ...


 
Desdechado ©   (2007-03-02 16:11) [3]

like "%А%" ускорить нельзя, даже не для MEMO-полей


 
AlexLines   (2007-03-02 16:15) [4]

Т.е. вариантов нет никаких? Какие подходы к организации поиска есть, если не использовать like "%A%"


 
Плохиш ©   (2007-03-02 16:20) [5]


> В первом случае поиск происходит за 15 секунд, во втором
> менее 1 секунды.
>
> В связи с этим не понятно, для того, чтобы отобрать 500
> записей оператору, как я понимаю, необходимо просмотреть
> все. Почему же поиск занимает значительно меньшее время?
>  
>
> Если найдено 11 тыс. записей не понятно на что уходит целых
> 14 секунд?

Они уходят на передачу тебе остальных 10500 записей...


 
AlexLines   (2007-03-02 16:27) [6]

Ну и Плохиш. Варианты, какие есть по поиску в БД, чтобы не было торможения а?


 
Romkin ©   (2007-03-02 16:31) [7]

Полнотекстовый поиск - сам организуй данные так, чтобы поиск был быстрым


 
AlexLines   (2007-03-02 16:35) [8]

Так вот я и хочу узнать хотя бы о подходах к организации такого поиска


 
Сергей М. ©   (2007-03-02 16:38) [9]

Ему про фому говорят, а он все про ерему свое гнет)


 
AlexLines   (2007-03-02 16:43) [10]

Так вот прошу про фому поподробнее. Вообще так что ли сложно ответить, если вы конечно же знаете?


 
Виталий Панасенко ©   (2007-03-02 16:44) [11]

использовать индексы. что, в твоем случае, невозможно...


 
AlexLines   (2007-03-02 16:48) [12]

Если не сложно, можете подсказать литературу или какие-либо статьи по индексам, чтобы можно было хотя бы с чего-то начать?


 
Sergey13 ©   (2007-03-02 16:50) [13]

> AlexLines
А что у тебя в этом поле?


 
Сергей М. ©   (2007-03-02 16:51) [14]


> AlexLines   (02.03.07 16:48) [12]


Какие индексы по мемо-полю ?
Нет таких. И быть не может.


 
AlexLines   (2007-03-02 16:53) [15]


> А что у тебя в этом поле?


Текст - приблизительно 1000 знаков


 
Сергей М. ©   (2007-03-02 16:54) [16]


> AlexLines


Переводи свой софт на любую сколь-либо серьезную SQL-серверную СУБД-платформу.
Там ты сможешь задействовать на серверной стороне пользовательские ф-ции, в которых можно до определенных пределов оптимизировать полнотекстный поиск.


 
Sergey13 ©   (2007-03-02 16:55) [17]

> [15] AlexLines   (02.03.07 16:53)

Я догадывался, что там символы и имел в виду - по смыслу там что?


 
AlexLines   (2007-03-02 16:57) [18]

Спасибо, Сергей М.



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.05 c
2-1177570495
PL
2007-04-26 10:54
2007.05.20
Не могу понять в чем проблема


2-1177836708
defiler
2007-04-29 12:51
2007.05.20
Вопрос по DBNavigator...


2-1178266462
SerMaxx
2007-05-04 12:14
2007.05.20
Как работать с графиками


2-1178190219
allucard
2007-05-03 15:03
2007.05.20
Повторный вызов Print криво печатает компоненты Shape


10-1133181083
nippo
2005-11-28 15:31
2007.05.20
COM Object из ТСomponent