Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FireDAC vs FIBPlus / 21 сообщений из 21, страница 1 из 1
17.08.2018, 17:42
    #39689608
scorpion235
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
Друзья, есть проект на FIBPlus.
Есть ли смысл переводить проект на FireDAC?
Есть ли у FireDAC какие-то преимущества по скорости работы?
...
Рейтинг: 0 / 0
17.08.2018, 18:06
    #39689613
чччД__
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
scorpion235,
конечно, переводи. Фибы на фаердаки, ехлибы на девэкспрессы, инди на синапсы...
Мой кот всегда яйца лижет, когда ему делать нечего.
Скорость взлетит до небес, обязательно.
...
Рейтинг: 0 / 0
17.08.2018, 18:43
    #39689629
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
scorpion235Друзья, есть проект на FIBPlus.
Есть ли смысл переводить проект на FireDAC?
Есть ли у FireDAC какие-то преимущества по скорости работы?
Нет. ФИБы наконец-то стали дальше развиваться.
...
Рейтинг: 0 / 0
17.08.2018, 18:51
    #39689634
Дегтярев Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
чччД__,
бгг
...
Рейтинг: 0 / 0
18.08.2018, 13:31
    #39689766
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
Gallemar, тогда можешь описать список того, что сделано в фибах за последние 2-3 года?

То, что их теперь можно установить на Токио - не в счёт.
...
Рейтинг: 0 / 0
18.08.2018, 13:32
    #39689767
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
А вообще, я за UniDAC.
...
Рейтинг: 0 / 0
18.08.2018, 13:36
    #39689775
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
чччД__ехлибы на девэкспрессы

Давно пора!

чччД__инди на синапсы
Только если наоборот!
...
Рейтинг: 0 / 0
13.10.2018, 17:15
    #39717105
scorpion235
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
Потратил один день и перевел весь проект с FIBPlus на FireDAC

Из плюсов:
1. Проект реально стал работать быстрее (прирост производительности на 10-15%)
2. FireDAC в отличии от FIBPlus умеет корректно работать с boolean-параметрами в запросах (появились в FB 3.0)
3. Вместо двух компонентов TpFIBQuery, TpFIBDataSet получилось использовать всего один TFDQuery

Из минусов:
1. Не нашел у FireDAC аналога компонента TFIBSQLLogger. Нужно самому реализовывать логирование запросов к базе
2. В FireDAC пока не победил сохранение изображений в базу данных в blob-поле

Код работал в FIBPlus, но не работает в FireDAC:
...
FDQuery.ParamByName('IMAGE').LoadFromFile(file_name, ftBlob);
FDQuery.ExecSQL;
...
Рейтинг: 0 / 0
13.10.2018, 18:56
    #39717115
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
scorpion235,
спасибо за информацию.

Поясни, пожалуйста:
scorpion235...1. Проект реально стал работать быстрее (прирост производительности на 10-15%)...
На каких операциях?
scorpion2352. FireDAC в отличии от FIBPlus умеет корректно работать с boolean-параметрами в запросах (появились в FB 3.0)

Использую FIB+ и булевские поля (и параметры), в каких случаях должна была проявляться некорректность в запросах?
scorpion2353. Вместо двух компонентов TpFIBQuery, TpFIBDataSet получилось использовать всего один TFDQuery

Непонятно. Поясни, пожалуйста. В каких случаях с fib+ нужно использовать два компонента? И в чем плюсы, если вместо двух использовать один.
...
Рейтинг: 0 / 0
13.10.2018, 19:47
    #39717126
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
scorpion2351. Не нашел у FireDAC аналога компонента TFIBSQLLogger. Нужно самому реализовывать логирование запросов к базеПоищите в help-е про ADMonitor и TADMoniXXXXClientLink
...
Рейтинг: 0 / 0
13.10.2018, 20:11
    #39717131
scorpion235
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
Котовасия,

КотовасияНа каких операциях?
На одних и тех же данных суммарно 2 операции (select в базу + вызов LoadFromDataSet для копирования данных в TkbmMemTable): 0,84 сек > 0,67 сек
Как работает LoadFromDataSet можно посмотреть в статье: https://habr.com/post/357716/

КотовасияИспользую FIB+ и булевские поля (и параметры), в каких случаях должна была проявляться некорректность в запросах?
Ранее уже был пост, что FibPlus заменяет переданные bool-параметры на 0 и 1: http://www.sql.ru/forum/1295664/fibplus-ne-umeet-peredavat-boolean-parametry?hl=fibplus
Тут как раз добрые люди написали, что в FireDAC такой проблемы нет. Вот сегодня дошли руки перевести исходники на FireDAC

КотовасияНепонятно. Поясни, пожалуйста. В каких случаях с fib+ нужно использовать два компонента? И в чем плюсы, если вместо двух использовать один.
TpFIBQuery - для запросов INSERT, UPDATE, DELETE
TpFIBDataSet (наследник TDataSet) - для запросов SELECT, чтобы потом результат сразу в грид отобразить или перекопировать данные в другой DataSet

TFDQuery - уже сразу наследник TDataSet, поэтому можно использовать для всех видов запросов

Про FireDac+Firebird хорошая статья на хабре: https://habr.com/post/273549/
Тут как раз и описано, что TFDQuery универсальный компонент:
Основным компонентом для работы с наборами данных является TFDQuery. Возможностей этого компонента хватает практически для любых целей. Компоненты TFDTable и TFDStoredProc всего лишь модификации, либо чуть расширенные, либо усеченные
...
Рейтинг: 0 / 0
13.10.2018, 20:31
    #39717136
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
scorpion235,

Ппц, тебе вроде как уже говорили о бессмысленности двойной загрузки сперва в TpFIBDataSet, а потом перегрузки в инмемори датасет, но ты почему-то это делаешь и никому не рассказываешь, почему и для чего. И ссылаешься на свои же глупые статьи.
И про то, что fib+ с булевскими полями нормально работает, тоже говорили, и с примерами в http://www.sql.ru/forum/1295664-2/fibplus-ne-umeet-peredavat-boolean-parametry - и я тоже тебе в предыдущем сообщении говорил, но у тебя какая-то выборочная манера чтения сообщений, может, у тебя дислексия?
...
Рейтинг: 0 / 0
13.10.2018, 21:16
    #39717145
scorpion235
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
bk0010, благодарю, попробовал компонент
только лог какой-то мало информативный, хотя почти все галочки в настройках стоят:

--- new start of FireDAC Trace ---
3125389700001 01:13:06.394 -=#!!! FireDAC Tracer started !!!#=-
3125726510001 01:13:40.067 -=#!!! FireDAC Tracer stopped !!!#=-
...
Рейтинг: 0 / 0
14.10.2018, 00:44
    #39717170
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
Он у вас не заработал, разбирайтесь: там надо было куда-то еще компонент прицепить (возможно, к TADConnection), не забыть включить active:=true в нужном месте, плюс были какие-то нехилые танцы с бубном, но что делал сейчас уже не вспомню, давно было. Попробуйте вместо TADMoniIndyClientLink и ADMontor использовать TADMoniFlatFileClientLink (запись лога в файл), так как могут гадить всякие антивирусы или фаерволы. Если победите, то лог будет вполне насыщенным. Я, когда мне надоела эта битва, стал использовать закладку trace в odbcad32.exe, если отлаживаться будете не через нативный драйвер, а через odbc, то может помочь.
...
Рейтинг: 0 / 0
15.10.2018, 12:16
    #39717502
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
13.10.2018 20:11, scorpion235 пишет:
> На одних и тех же данных суммарно 2 операции (select в базу + вызов LoadFromDataSet для копирования данных в TkbmMemTable): 0,84 сек > 0,67 сек
> Как работает LoadFromDataSet можно посмотреть в статье: https://habr.com/post/357716/

помнится, кто-то тут вещал, что TJvMemoryData от JVCL дают прирост производительности 20-30%.
и тут вдруг такое...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.10.2018, 12:22
    #39717511
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
Мимопроходящий13.10.2018 20:11, scorpion235 пишет:
> На одних и тех же данных суммарно 2 операции (select в базу + вызов LoadFromDataSet для копирования данных в TkbmMemTable): 0,84 сек > 0,67 сек
> Как работает LoadFromDataSet можно посмотреть в статье: https://habr.com/post/357716/

помнится, кто-то тут вещал, что TJvMemoryData от JVCL дают прирост производительности 20-30%.
и тут вдруг такое...

Ни разу не использовал TJvMemoryData, но "статья" - клюква и дичь.
...
Рейтинг: 0 / 0
15.10.2018, 12:24
    #39717515
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
15.10.2018 12:22, Котовасия пишет:
> "статья" - клюква и дичь.

как и весь хабр.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.10.2018, 13:18
    #39717576
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
Тут же постоянно писали на форуме, что FIBPlus'ы давно померли и их перестали развивать. Поэтому сравнение изначально проигрышное.
...
Рейтинг: 0 / 0
15.10.2018, 13:37
    #39717607
Vlad F
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
JaDi,

Тут самое значимое не в том, что померли или перестали (энтузиастов вести их дальше может и найтись), а в том что у них сейчас неопределенный правовой статус, и сделать с этм что-то пока никак не удается.
...
Рейтинг: 0 / 0
15.10.2018, 15:55
    #39717717
энди
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
Затем использовать промежуточную прокладку в виде таблицы в памяти? Ehlib так делает и результат не очень, около 10к записей. Запрос на MSSQL с возвратом данных на клиента 7-9 секунд и еще полторы минуты на перелив данных из TADOQuery в таблицу в памяти. Изврат ведь.
...
Рейтинг: 0 / 0
15.10.2018, 17:48
    #39717786
Василий 2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FireDAC vs FIBPlus
scorpion235TpFIBQuery - для запросов INSERT, UPDATE, DELETE
TpFIBDataSet (наследник TDataSet) - для запросов SELECT, чтобы потом результат сразу в грид отобразить или перекопировать данные в другой DataSet

TFDQuery - уже сразу наследник TDataSet, поэтому можно использовать для всех видов запросов
И это - плюс? Мне-то всегда виделось, что более легкий Query для модификаций и Dataset со всеми приблудами для навигации по данным - это намного более удобная и логичная структура.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / FireDAC vs FIBPlus / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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