powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Слишком долгое подключение и выполнение первого запроса.
25 сообщений из 102, страница 2 из 5
Слишком долгое подключение и выполнение первого запроса.
    #40106404
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaktus1983Подключение к каждой БД одинаково по времени длится 30-45 сек.

А сколько времени длится подключение из ISQL?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106405
dennis-r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaktus1983
Softologic,
Полностью поддерживаю ваше мнение, Fib+ отличные компоненты, и я даже не знаю альтернатив, несмотря на то, что они уже долго не поддерживаются.
По началу, да, всё красиво, простенький проект накидать - замечательно: датасеты, мастера запросов, прочее. Но, когда таблицы начинают измеряться сотнями, то приходишь ко всяким MVC, MVVM, MVP, etc. (нужное подчеркнуть). И, внезапно, от компонентов доступа требуется лишь выполнение запроса и... всё! Остальное делается своим велосипедом фреймворком.
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106406
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dennis-r
kaktus1983
Softologic,
Полностью поддерживаю ваше мнение, Fib+ отличные компоненты, и я даже не знаю альтернатив, несмотря на то, что они уже долго не поддерживаются.
По началу, да, всё красиво, простенький проект накидать - замечательно: датасеты, мастера запросов, прочее. Но, когда таблицы начинают измеряться сотнями, то приходишь ко всяким MVC, MVVM, MVP, etc. (нужное подчеркнуть). И, внезапно, от компонентов доступа требуется лишь выполнение запроса и... всё! Остальное делается своим велосипедом фреймворком.

Сейчас у меня ровно такая же картина маслом. Прям один в один. Оглядываясь с ужасом на легаси-проекты с сотней датасетов в датамодуле, приходишь к полному переосмысливанию подхода. Теперь она сводится к написанию своей многопотоковой модели фреймворка, но с использованием асинхронно-событийных компонент (для работы с почтой, sip-телефонией, БД в облаке и пр.). И таки да, "велосипедить" свой MVC как то тоже вынуждает общая ситуация.

P.S: Однако, подытожу - новичкам сразу в MVC и во всякие многопоточные, да асинхронно-событийные модели все равно нырять рановато - это уже открытое море практически, пусть "в лягушатнике поплавают" для начала :)
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106417
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Внезапно: fbclient.


Можно подумать, что ты каждый раз для выполнения какого-нить запроса всю эту цепочку апишных вызовов пишешь.
Ага, ага...
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106420
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertМожно подумать, что ты каждый раз для выполнения какого-нить запроса всю эту
цепочку апишных вызовов пишешь.

Нет, я халявлю, сокращая цепочку до одного isc_dsql_exec_immed2().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106422
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
IBExpertМожно подумать, что ты каждый раз для выполнения какого-нить запроса всю эту
цепочку апишных вызовов пишешь.

Нет, я халявлю, сокращая цепочку до одного isc_dsql_exec_immed2().Одно дело системная утилита и обертка настроечная для оной, другое софтина кучей гуя, чтоб обслуживать торговлю, например, или медицину.
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106423
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyдругое софтина кучей гуя, чтоб обслуживать торговлю, например, или медицину.

В чём другое? Выше уже упоминались всякие зубодробительные аббревиатуры, где в
слое доступа к БД простые запросы, в слое гуя простые контролы, а между ними
ходят объекты бизнес-логики, складываемые из запросов на одном конце и
раскладываемые по контролам на другом.

Да, сначала кажется, что это гораздо сложнее и дольше, но в конечном итоге
получается одинаково. Хотя да, кое-как работающий прототип класса фишфака проще
сляпать... как фишфак и сляпан, собственно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106429
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Нет, я халявлю, сокращая цепочку до одного isc_dsql_exec_immed2().


Да не свисти, даже для этого есть смысл написать простейшую обертку, а не прописывать десяток параметров каждый раз.
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106432
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertдаже для этого есть смысл написать простейшую обертку, а не прописывать десяток
параметров каждый раз.

С учётом переползания на новое API у меня есть обёртки для транзакции, статуса и
статического буфера. Этого достаточно чтобы код свёлся к database->execute или
openCursor.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106435
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
у меня есть обёртки для транзакции, статуса и
статического буфера.


Вот теперь верю. И пафосное "я пишу на голом апи" превращается в банальное "у меня собственные обертки только для необходимого мне функционала".
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106438
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertпафосное "я пишу на голом апи" превращается в банальное "у меня собственные
обертки только для необходимого мне функционала".

Обёртка для транзакции это полэкрана, в основном занятые фигурными скобками, а
для остального у меня собственные реализации, ибо от того, что "в коробке" меня
тошнит.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106445
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
от того, что "в коробке" меня тошнит.


"Ты просто не умеешь их готовить" (с)
Разработчик, способный за разумное время написать свои обертки Database/Transaction/Query над фбшным АПИ, тем более способен настроить фибы и получить от них нужный результат. Вплоть до физического выпиливания ненужного и вредного, по его мнению. И времени у него на это уйдет существенно меньше, чем на изобретение собственного велосипеда.
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106446
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это у Димы пунктик такой - у FIBPlus есть фатальный недостаток -
их написал не он. (с) Так что надо относиться с пониманием. :)
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106450
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне всё равно кто их написал, но в них в принципе нет двух вещей, которые я
считаю важными для "софтины кучей гуя, чтоб обслуживать торговлю, например, или
медицину":
1) Background fetch, который должен устранить тормоза на прокрутке грида;
2) Сброс кэша записей на диск, из-за чего они известны своим "out of memory".

PS: В файердаке их тоже нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106452
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Мне всё равно кто их написал, но в них в принципе нет двух вещей, которые я
считаю важными для "софтины кучей гуя, чтоб обслуживать торговлю, например, или
медицину":
1) Background fetch, который должен устранить тормоза на прокрутке грида;
2) Сброс кэша записей на диск, из-за чего они известны своим "out of memory".

PS: В файердаке их тоже нет.

А в Унидаке (и прочих даках) от Деварта?
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106453
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нигде нет. Потому что архитектура DB VCL была создана для Windows 3, где
мнопоточности не было в принципе, и с тех пор не пересматривалась.

PS: А кэш резал-сета на диске был в BDE, но с тех пор это потерянная технология.
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106454
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
1) Background fetch, который должен устранить тормоза на прокрутке грида;
Да, была бы зело полезная фича.
Dimitry Sibiryakov
2) Сброс кэша записей на диск, из-за чего они известны своим "out of memory".
Сдается мне будет только провоцировать писать г****код. Толку мало. Если резалтсет не убрался в пару гиг озу, значит "консерватория" уже давно плачет горючими слезами.
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106455
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Нигде нет. Потому что архитектура DB VCL была создана для Windows 3, где
мнопоточности не было в принципе, и с тех пор не пересматривалась.

Если это так, почему вам не запилить свои даки, с конкретным конкурентным преимуществом, актуальным ныне ? И будет эдакий пассивный доход в итоге.
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106457
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же, кажется, русским по белому сказал, что главная проблема на этом пути -
архитектура VCL...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106458
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Я же, кажется, русским по белому сказал, что главная проблема на этом пути -
архитектура VCL...

Вы из Великих. А они знают альтернативные пути, я полагаю :)
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106491
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имхо.
По-быстрому какое-нибудь говно (одноразовая программа) накодить - лучше фиблюсов как бы и нет.
По-быстрому объяснить студенту, как говнокодить с фаербердом, показать редактируемый датасет с раздельными транзакциями - тоже фиблюс.
...
А из своего старого кода редактируемые датасеты практически удалены, используются три компонента: TpFIBDataBase, TpFIBTransaction да TpFIBQuery, да и то не в "чистом" виде, а класс-обертка либо интерфейс. То есть, пофиг уже, что импользовать - фибы, айбиикс или уибы, или вообще самопальщину как у ДС...
Но вот новичкам без волшебных DAC-ов не обойтись, вернее, они не станут использовать фаерберд без простых и доступных "драйверов"...
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106498
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoftologicА они знают альтернативные пути, я полагаю :)

Ну так вон выше же ясно написано что это за альтернатива: микро-обёртки для
нужного функционала и полное игнорирование db-aware куска.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106501
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

...и полное игнорирование db-aware куска.

Да был бы он попроще, этот кусок.
Наследник TCustomDataSource (источник данных гридов от DevEx, "режим провайдера") написать свой - работы требуется от нескольких минут, а справиться со всеми абстрактными загибами дельфийского TDataSet - скучать начинаешь уже на этапе изучения.
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106526
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

1) Background fetch, который должен устранить тормоза на прокрутке грида;

Я сейчас местами в качестве грида использую широко известный в узких кругах VirtualTreeView. На данный момент пока в основном потоке использую подгрузку данных из БД ровно того количества записей, которые помещаются в видимые пределы контрола VT + несколько записей до и несколько после (что то вроде кэша в памяти получается). В этом мне помогает событие OnAfterPaint. В общем, я подгружаю ровно то, что хочет видеть пользователь, и немного еще.
В общем, оно и так не тормозило никогда доселе (выкачать с сервака 20-50 записей единовременно не проблема), но в идеале мне ничего не мешает эту подгрузку засунуть в другой поток. Чтоб уж наверняка все было максимально "антифризно" и мягко.

P.S: Поскольку порядок узлов мне известен, мне не составит труда вычислить первый и последний видимые узлы:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
  x:=TV.ClientRect.Left + 5;
  y:=TV.ClientRect.Top - 25;

  NodeFirst:=TV.GetNodeAt(x, y);

  x:=TV.ClientRect.Left + 5;
  y:=TV.ClientRect.bottom + 25;

  NodeLast:=TV.GetNodeAt(x, y);


Ну а дальше, вычислить несколько предшествующих и последующих - дело техники.
...
Рейтинг: 0 / 0
Слишком долгое подключение и выполнение первого запроса.
    #40106528
Softologic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Softologic
На данный момент пока в основном потоке использую подгрузку данных из БД ровно того количества записей, которые помещаются в видимые пределы контрола VT + несколько записей до и несколько после (что то вроде кэша в памяти получается). В этом мне помогает событие OnAfterPaint. В общем, я подгружаю ровно то, что хочет видеть пользователь, и немного еще.

Короче, это нечто похожее на "Background fetch, без тормозов на прокрутке грида" для меня решение.
...
Рейтинг: 0 / 0
25 сообщений из 102, страница 2 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Слишком долгое подключение и выполнение первого запроса.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]