Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ускорить запуск [D7, IB7]


Ugrael ©   (2004-06-24 12:26:00) 

Доброго времени суток.
Кто что посоветует по поводу ускорения запуска\работы клиентских приложений на IB7?Как хотя бы сократить время заегрузки при первом запуске?Будет ли работать быстрее если запрос посылать не select * from tableа select pole1,pole2 from table
а то база большая-ждать долго.
ps:это помимо оптимизации посредством bakup/restore


jack128   (2004-06-25 20:49:00) [1]


> Там четко вроде сказано
> что берется все только во втором случае список (всех) полей
> указывается явно.

Может я не понял задачу.. Мне показалось, что помимо вопроса - вставлять в запрос оператор where или нет, так же поставлен вопрос что и на сколько лудше/: select * from или select pole1, pole2 from  Причем я сделал допущение (наверно несколько смелое с моей стороны), что в таблицы есть еще поля помимо указанных. Исходя из этого я сказал, что явное указание полей положительно сказывается на скорости работы.  И уж естественно я не хотел сказать, что это ускорение возникает из-за оотсутствия обращения к системным таблицам, хотя бы потомы, что оно (обращение к сис таблицам) есть всегда: в первом случае - запрос для определения списка полей в таблице, а во втором - запрос на проверку - а существуют ли заданные поля в заданной таблице.


Sergey Masloff   (2004-06-25 19:21:00) [2]

jack128 ©   (25.06.04 07:22) [7]

>> select *
>> от select f1,f2...
>> отличается очень немногим по скорости и от размера таблицы
>> не зависит

>скорость закачки данных зависит напрямую от того сколько и >каких полей ты выбираешь в запросе ;-)

Исходный пост читать не пробовал? Там четко вроде сказано
что берется все только во втором случае список (всех) полей указывается явно. Считаете

select rdb$field_name from rdb$relation_fields where rdb$relation_name = :tblname

займет времени больше чем сотые доли секунды? Вместе с фетчем? Даже если полей в таблице 255?


Ильш   (2004-06-25 08:49:00) [3]

а лучше при запуске вообще ничего не тащить!
тащить только по запросу клиента!
кнопищку нажимать наущить юзеря и усё :)


Жук   (2004-06-25 08:38:00) [4]

Основное правило ускорения - не тащить на клиента лишнюю информацию.


jack128   (2004-06-25 07:22:00) [5]


> Быстрее, если запрос не
> select * from table, и не
> select pole1,pole2 from table,
> а select * from table where ...

не-а - запрос будет отрабатывать даже медленнее. а вот данные фетчатся будут быстрее. Если по полям по которым ставится условие where - индексированны, то скорость выполнения ипадет не на много, а вот скорость фетча может возрасти очень сильно если условие очень жесткое (например where id = 10)

> select *
> от select f1,f2...
> отличается очень немногим по скорости и от размера таблицы
> не зависит

скорость закачки данных зависит напрямую от того сколько и каких полей ты выбираешь в запросе ;-)


Sergey Masloff   (2004-06-25 00:34:00) [6]

DrPass ©   (25.06.04 00:26) [5]
>выбирать полбазы в программу
не полбазы. Всю судя по всему ;-)


DrPass   (2004-06-25 00:26:00) [7]


> Как хотя бы сократить время заегрузки при первом запуске

Не нужно при запуске выбирать полбазы в программу


Sergey Masloff   (2004-06-25 00:14:00) [8]

select *
от select f1,f2...
отличается очень немногим по скорости и от размера таблицы не зависит (ну даже если у тебя в таблице 255 полей то это все равно фигна по сравнению с мировой революцией...).
А вот все содержимое таблицы на клиента тащить это обычно жестоко...


HSolo   (2004-06-24 14:24:00) [9]

http://ibase.ru/develop.htm
в целом, и раздел "Оптимизация запросов" в частности


Ugrael   (2004-06-24 13:21:00) [10]

разумно.вообщем это приходило в голову, просто может кто еще чего посоветует. 8)


Наталия   (2004-06-24 13:04:00) [11]

Быстрее, если запрос не
select * from table, и не
select pole1,pole2 from table,
а select * from table where...


Наверх

Титульная страница Поиск, карта сайта Написать письмо