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

Вниз

Проблема с быстродействием   Найти похожие ветки 

 
qweqwe ©   (2004-09-06 10:24) [0]

Я наткнулся на какието грабли... Раздул
справочник товаров до 8 тысяч записей и прога начала тормазить при поиске. Поиск сделан таким образом...

void __fastcall TGoodsForm::Edit2Change(TObject *Sender)
{
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select * from GOODS_SUMMARY ");
ADOQuery1->SQL->Add("where Upper(id) like upper(_win1251"%" + Edit2->Text+ "%")");
ADOQuery1->Open();
}

сначала я начил строить индексы. Но тут до меня дошло что
этот запрос в ИБЭксперте выполняется почти моментально. Тоесть затык
происходит гдето между ИБСервером и программой. можно ли это опимизировать как-то? или это АДО и от этого не
деться? блин... нет времени переписывать всю прогу на другую
технологию... вот такие вот дела. Работаю через ОДБЦ...
ПС Сорри я пишу на Билдере но сути это тут не меняет. Думаю кусок кода должен быть понятен всем.


 
Sergey_Masloff   (2004-09-06 10:52) [1]

Да. Код понятен. Индексы тут не помогут и в IBExpert на той же базе это будет тормозить точно так же.
 А за такие запросы в приличных местах... Ладно не будем о грустном.


 
qweqwe ©   (2004-09-06 11:06) [2]

Эксперт не тормозит.. делает все очень быстро


 
Sergey_Masloff   (2004-09-06 11:10) [3]

Значит не та база ( меньше записей) или не такой запрос. Точка.
Запрос с процентикам спереди да еще с аппером быстро выполняться не может так как это гарантированный FULL SCAN


 
Sergey_Masloff   (2004-09-06 11:13) [4]

В принципе, для 8000 записей даже фуллскан не так страшно но все же зачем так жестко с сервером. Храни уж тогда свои 8000 просто в текстовом файле и ищи как строку. Будет быстрей.


 
qweqwe ©   (2004-09-06 11:17) [5]

да тут дело даже  не в запросе... тут дело в том каким оброзом я подключаюсь к базе :( и похоже я этого не исправлю


 
Sergey_Masloff   (2004-09-06 11:27) [6]

qweqwe ©   (06.09.04 11:17) [5]
Исходно было:
>и прога началатормазить при поиске
То есть сначала не тормозило же?
Ни ADO ни ODBC никаких особых тормозов не вносят (кто б их тогда использовал). Так что...



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
4-1093079315
Arnold
2004-08-21 13:08
2004.10.03
Как узнать количество запущенных процессов???


14-1094973458
Piter
2004-09-12 11:17
2004.10.03
Кто поет "Сюзанна" ?


14-1095347951
BigFat
2004-09-16 19:19
2004.10.03
Непонятные слова


1-1095425060
HollowMan
2004-09-17 16:44
2004.10.03
Как сделать шестнадцатиричное присвоение переменных byte:=$string


1-1095313186
stud
2004-09-16 09:39
2004.10.03
работа с TImage