Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.05 c
9-1131474378
WD
2005-11-08 21:26
2007.05.20
вычисление числа Пи с заданной точностью


15-1177326834
Tonich
2007-04-23 15:13
2007.05.20
Спутники(характеристики)


15-1176974376
Petr V.Abramov
2007-04-19 13:19
2007.05.20
Полет армейской мысли


2-1177569722
UMU
2007-04-26 10:42
2007.05.20
DBEdit


15-1176963350
Pazitron_Brain
2007-04-19 10:15
2007.05.20
Ищется память для ноутбука





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский