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

Вниз

странное поведение IbQuery   Найти похожие ветки 

 
jack128   (2003-09-16 20:51) [0]

вот такой код
procedure TForm1.Button1Click(Sender: TObject);
var
t : Cardinal;
begin
if not ibquery1.Active then
ibQuery1.Open;
try
t := GetTickCount;
ibquery1.FetchAll;
Caption := IntToStr(GetTickCount() - t);
finally
ibquery1.Close;
end;
end;

(в ibQuery1 запрос select * from my_table)

если в дезин тайм выставить ibquery1.Active := true; то после нажатия кнопки Caption := "1000"
Если в дезин тайм ibquery1.Active := False; то Caption := "380";

Почему???


 
Zacho   (2003-09-16 21:03) [1]

Ну и что именно здесь странного ? И вообще, зачем тебе это надо ?
P.S. Вместо
if not ibquery1.Active then
ibQuery1.Open;
достаточно ibquery1.Active:=true;


 
jack128   (2003-09-16 21:37) [2]

Странно, то что если запрос открывают непосредственно перед FetchAll, то фетч выполняется в три раза быстрее, чем если запрос открыт открыт при загрузке программы(открыт в дезин тайм)..


 
Zacho   (2003-09-16 21:46) [3]

Да мало ли, почему. Например, в случае, если запрос уже открыт в design time, то при открытии его же (естественно, реально - уже в другом процессе и в другом коннекте) банально не хватает физической памяти, или время уходит на создание второго коннекта.
Еще могу что-нибудь придумать, только зачем, какой в этом практический смысл ?
P.S. Кстати, ты это делаешь при запуске из Дельфи или нет ?


 
jack128   (2003-09-16 21:56) [4]


> Кстати, ты это делаешь при запуске из Дельфи или нет ?

Из дельфей

А смысл в том, что о того, как быстро длится фетч зависит как мне заполнять дерево из базы..(юзер может подождать 300 мсек при распахивании дерева, но не 1 секунду..)


 
Zacho   (2003-09-16 22:01) [5]


>
> jack128 © (16.09.03 21:56) [4]
> Из дельфей

Вот в этом все и дело. Похоже, еще и сервер локальный ?


 
jack128   (2003-09-16 22:06) [6]

После серии экстерементов(из дельфей и из проводника) ситуция изменилась теперь в обоих случаях фетч длится одинаково..

> Похоже, еще и сервер локальный ?

Firebird??


 
Zacho   (2003-09-16 22:16) [7]


> jack128 © (16.09.03 22:06) [6]
> После серии экстерементов(из дельфей и из проводника) ситуция
> изменилась теперь в обоих случаях фетч длится одинаково..

Имхо, в памяти дело. И в кол-ве коннектов к серверу. В общем, сам посмотри и подумай, направление для размышллений я тебе уже дал.

> Firebird??

Без разницы, IB, FB, YA или вообще что-то другое.
На том же компе сервер, что и твоя программа, или в сети ?


 
jack128   (2003-09-17 00:24) [8]


> На том же компе сервер, что и твоя программа, или в сети
> ?

На том же компе, но конект "localhost:<путь к базе>" , разве для сервера в таком случае есть разница, на том же компе база или на другом??
А вообще, замнем вопрос... Попробую без фетча, а-ля DBGrid сделать..


 
Zacho   (2003-09-17 01:36) [9]


> jack128 © (17.09.03 00:24) [8]
> На том же компе, но конект "localhost:<путь к базе>" , разве
> для сервера в таком случае есть разница, на том же компе
> база или на другом??

А БД и не может находится на другом компе, не работает сервер IB с файлами БД в сети :) Разница есть, находится ли клинтское приложение на том же компе, что и сервер, или нет. Ведь все это память кушает (да еще и Дельфи запущена), а она не безразмерная.. А когда свободная физ. память кончается, что происходит ?
Ты просто посмотри, сколько у тебя свободной физической памяти в первом случае и во втором.



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

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

Наверх





Память: 0.47 MB
Время: 0.009 c
1-18392
Windman
2003-09-22 13:48
2003.10.06
Работа с Excel через COM интерфейс


14-18567
malkolinge
2003-09-18 00:59
2003.10.06
С Днем Рождения , Гоблин !


3-18266
rava
2003-09-15 16:49
2003.10.06
Исключение MAX()


14-18625
Knight
2003-09-17 03:46
2003.10.06
Бессовестная реклама своего ресурса...


3-18258
QUE
2003-09-15 16:30
2003.10.06
Oracle: function () return TableDate is





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