qweqwe |
Отправлено: 06.09.2004, 09:28 |
|
Не зарегистрирован
|
Я наткнулся на какието грабли... Раздул
справочник товаров до 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();
}
сначала я начил строить индексы. Но тут до меня дошло что
этот запрос в ИБЭксперте выполняется почти моментально. Тоесть затык
происходит гдето между ИБСервером и программой. можно ли это опимизировать как-то? или это АДО и от этого не
деться? блин... нет времени переписывать всю прогу на другую
технологию... вот такие вот дела. Работаю через ОДБЦ...
|
|
AVC |
Отправлено: 06.09.2004, 09:48 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
ADO через ODBC для связи с Inerbas'ом — многовато "прокладок". Для начала лучше помучиться и перевести на "прямые" компоненты. |
|
qweqwe |
Отправлено: 06.09.2004, 10:04 |
|
Не зарегистрирован
|
ага... легко сказать.. проект не маленький.... около 80 юнитов... я все за месяц не переведу.. этож переписывать все придется
|
|
avc* |
Отправлено: 06.09.2004, 10:34 |
|
Не зарегистрирован
|
Да. Работа грязная и неприятная, но поддается формализации. Не думаю, что это займет более двух рабочих дней. |
|