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

Вниз

Непонятная работа БД   Найти похожие ветки 

 
kyn66 ©   (2008-12-15 15:34) [0]

Уважаемые, подскажите , почему возникают проблемы при работе с базами ADS(Local server)? В таблице 3500000 записей. Открывается быстро, однако, когда даю команду Close - висит секунд 10-12. В чем дело? Есть такие-же проблемы и когда делаю SQL-запрос на удаление из базы некоторого кол-ва записей. Тоже выполняется запрос очень долго. Что я не так делаю?


 
ANB   (2008-12-15 15:38) [1]


> Есть такие-же проблемы и когда делаю SQL-запрос на удаление
> из базы некоторого кол-ва записей. Тоже выполняется запрос
> очень долго

Нету индекса.


> Открывается быстро, однако, когда даю команду Close - висит
> секунд 10-12.

Про ADS - не знаю, что это такое, но скорее всего потому как СУБД - версионник.


 
kyn66 ©   (2008-12-15 15:44) [2]


> Нету индекса.

Индекс есть. Я не про поиск говорю, а про удаление

    with TAdsQuery.Create(nil) do
     try
       AdsConnection := DM1.AdsConnection1;
       ParamCheck := True;
       SQL.Clear;
       SQL.Add("DELETE FROM TirSL WHERE Tir = :p1");
       Params[0].Value := tir;
       ExecSQL;
       SQL.Clear;
       CLose;
     finally
       Free;
     end;



> но скорее всего потому как СУБД - версионник.


Не понял, что это такое...


 
Sergey13 ©   (2008-12-15 15:47) [3]

> [2] kyn66 ©   (15.12.08 15:44)
>       SQL.Clear;
>       CLose;

А зачем эти строчки? Что ты пытаешься закрыть?


 
ANB   (2008-12-15 15:51) [4]


> Индекс есть. Я не про поиск говорю, а про удаление

Прежде чем удалять, СУБД должна записи найти.

Индекс на таблице TirSL по полю Tir есть ?

Если сделать селект с таким условием - много записей вернет ?

SQL.Clear;
CLose;

Эти строчки, действительно, бессмыслены.


 
kyn66 ©   (2008-12-15 15:57) [5]

Select все работает. Про удаление - это второй вопрос. Меня больше сейчас интересует почему виснет прога, точнее не виснет а работает так долго при закрытии таблицы?

procedure TTiragSLFrm.FormDestroy(Sender: TObject);
begin
 Screen.Cursor := crHourGlass;
 DM1.SvodTSLTbl.Close;
 DM1.TirSLTbl.Close;
 DM1.TrkTbl.Close;
 Screen.Cursor := crDefault;
end;


Даже прищлось часики поставить.


 
Desdechado ©   (2008-12-15 16:06) [6]


> почему виснет прога, точнее не виснет а работает так долго
> при закрытии таблицы?

Эти таблицы были открыты только на чтение? Или к ним еще применялись операции изменения? Может, просто изменения записываются на диск перед закрытием.


 
kyn66 ©   (2008-12-15 16:32) [7]

Изменения были. Однако я просто их открываю(открытие формы) и сразу форму закрываю, см.[5]/ Зависон сикунд 10-15. Могет на компоненте TAdsTable какие параметры убрать/поставить нужно. Ну чудо какое-то. Ладно бы при открытии(пока индексы настроятся, пока все занрузится...) А тут просто Close - и на те тормоза. Я отказываюсь понимать здравый смысл. Вразумите, плис.


 
kyn66 ©   (2008-12-15 16:36) [8]

Пробывал перед закрытием убирать привязку к индексам - все едино, тормоза.



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
15-1252669622
boriskb
2009-09-11 15:47
2009.11.08
Ты чо? Шибко умный?


2-1253624052
faiwer
2009-09-22 16:54
2009.11.08
Trace Into


2-1253160510
Руслан
2009-09-17 08:08
2009.11.08
помогите с запросом


15-1252515306
Rule
2009-09-09 20:55
2009.11.08
Книга по (для) рисования.


15-1252276329
KilkennyCat
2009-09-07 02:32
2009.11.08
TTreeNode с Визибле-Невизибле