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

Вниз

Поиск в memo-поле   Найти похожие ветки 

 
Lola   (2002-10-01 15:21) [0]

Нужно сделать поиск в memo-поле (текст) по вхождению. База локальная. Может у кого-нибудь есть идеи?


 
Lola   (2002-10-02 15:06) [1]

Наверное все проигнорировали, потому что некорректно вопрос поставлен. Поиск нужен в memo-поле по всей базе.
Спасибо.


 
Леха_   (2002-10-02 15:07) [2]

Перебором записей


 
Lola   (2002-10-02 15:11) [3]

Не хотелось бы перебором, в том-то и дело.


 
MsGuns   (2002-10-02 15:13) [4]

Самый эффективный способ - вместо Memo использовать Detail таблицы. Скорость по сравнению с перебором (другого способа для Paradox-подобных БД не знаю) выше на 2-4 порядка


 
sniknik   (2002-10-02 15:25) [5]

в Access для мемо полей срабатывает Sql команда Like. проверь. Если конечно подключение нормальное а не через ODBC, BDE.


 
gek   (2002-10-02 15:28) [6]

> sniknik © (02.10.02 15:25)
Честно говоря я никогда не слышал, что бы Like работала с memo полями, именно из-за специфики SQL. Ну если я конечно отстал - поправь.


 
sniknik   (2002-10-02 15:34) [7]

не в специфике дело скорее она там запросы корректирует под свои представления. точнее не скажу но уже встречался с таким через jet работает, ODBC нет. Хочеш точностей проверяй, мне неохота.


 
Lola   (2002-10-02 15:41) [8]

Самое смешное, что подключение именно через BDE. Делала через ADO, но тогда Post одной записи идет минуту, не меньше. За кофе успеваешь сходить. Уменя пять полей Memo, видимо поэтому. Через BDE почти не тормозит.


 
Lola   (2002-10-02 15:44) [9]


> MsGuns © (02.10.02 15:13)
Уточните пожалуйста Ваш способ с Detail таблицы. Я что-то не допонимаю.


 
sniknik   (2002-10-03 13:26) [10]

Lola пытался послать вам письмо, вернуло сплошные timed out
without establishing a connection положу сдесь может увидиш.

Lola © (02.10.02 15:41)
Самое смешное, что подключение именно через BDE. Делала через ADO, но тогда Post одной записи идет минуту, не меньше. За кофе успеваешь сходить. Уменя пять полей Memo, видимо поэтому. Через BDE почти не тормозит.

странно я чаще сталкивался с обратным когда через BDE хуже работает. не можеш описать ситуацию? чтобы я мог повторить данный эффект. что как какие компоненты размер полей и что делаеш после чего зависает. попробую разобратся.


 
MsGuns   (2002-10-03 14:41) [11]

Lola © (02.10.02 15:44)

> MsGuns © (02.10.02 15:13)
>Уточните пожалуйста Ваш способ с Detail таблицы. Я что-то не допонимаю.

Поясню на примере. Есть некая БД, которая хранит архивы неких документов. Каждый арх.документ имеет запись-характеристику, в которой было 2 string: 1 - откуда пришел или вернулся, 2 - куда ушел или передан на время. Все хорошо работало, пока " не ушел-пришел" перестало помещаться в простую строку. Некий мастер "вылечил" проблему, заменив строки на мемо. Все стало помещаться, но поиск, которым очень часто пользовались архивисты, работать, ессно, перестал.
Я убрал из осн.таблицы оба мемо (просто выкинул, реструктурировав таблицу), но добавил 1 доп.детал-таблицу, с внешними ключами=ключи документа для связки "один-ко-многим" и двумя внутренними <Тип движения> (I/O) и <Номер строки пп>. В эту таблицу я перед реструктуризацией основной перегнал содержимое обеих мемо, разбив их на строки-элементы, каждая их которых стала отдельной записью новой таблицы.
Потом связал их и немного переделал форму.
В рез-те работает и поиск, и выборки, и вообще "бегать" стала чуть ли не втрое шустрее.
Недостаток один. Трудно переставить строки бывшего мемо местами, но им это бывает надо крайне редко и они пользуются вырезать-приклеить.



 
Lola   (2002-10-03 15:11) [12]

Честно говоря уже и не ждала, что кто-то еще откликнется.


> sniknik © (03.10.02 13:26)
Почту проверила, работает вроде нормально. Из компонентов были ADOConnection, подключенный через Microsoft.Jet.OLEDB.4.0, TADOTable, TDataSource, в базе 5 текстовых полей по 50, 5 - мемо и автоинкрементное. 1300 записей. Тормозит любой Table.Post, после добавления новой записи или после корректировки, не важно. Append делает быстро.

> MsGuns © (03.10.02 14:41)

К сожалению не могу воспользоваться Вашим способом, потому что информация в мемо однородная, разбитая на item-ы. Вообще, мне нравится как Вы выходите из затруднительных положений. Мне же пришлось сделать обыкновенным перебором. Хорошо хоть заказчик согласился искать только по одному полю.


 
sniknik   (2002-10-03 16:19) [13]

у вас чтото не так с чем не знаю :-))).

послал пример (с другого ящика похоже рамблер глючит)

у меня 1300 записей в файл с вашей структурой ложится и постится за 36 сек. правда вы не указали примерный размер мемо я взял последний пост Lola © (03.10.02 15:11) .....

проверьте это у себя если будет ощутимая разница надо искать глюки в самом ADO.




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

Форум: "Базы";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
3-78244
Uran
2002-10-02 11:13
2002.10.24
Редактирование таблицы


1-78496
Paul 'Spawn' Rysevets
2002-10-13 16:53
2002.10.24
Как Узнать Что Стороннее Приложение Запустилось


3-78282
VikOss
2002-10-03 10:33
2002.10.24
Report


4-78707
Tihas
2002-09-11 07:56
2002.10.24
Несколько вопросов по созданию шрифта CreateFontIndirect...


14-78606
Sergey13
2002-10-01 11:20
2002.10.24
Как думаете - попрутся наши вояки в Грузию или нет?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский