Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Отказ от UDF / 16 сообщений из 16, страница 1 из 1
07.11.2016, 13:48
    #39342558
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Насколько оправдан отказ от UDF и переписывание кода с использованием функций FB (2.5.) ?
А то меня застращали,что каждый вызов UDF это нехилая нагрузка на БД.
...
Рейтинг: 0 / 0
07.11.2016, 13:49
    #39342561
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
GallemarНасколько оправдан отказ от UDF и переписывание кода с использованием функций FB (2.5.) ?
А то меня застращали,что каждый вызов UDF это нехилая нагрузка на БД.

му уже отказались. Не из за скорости. Просто хотели упростить сопровождение.
...
Рейтинг: 0 / 0
07.11.2016, 13:56
    #39342564
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
GallemarА то меня застращали,что каждый вызов UDF это нехилая нагрузка на БД.
кто тебе это бред сказал?
UDF это компилируемая функция, которая работает наравне с другим кодом Firebird, никакой "нехилой нагрузки" вообще быть не может, если только программист не понаписал какой-нибудь фигни в этой udf, типа коннекта к другому серверу и прочих ужасов.
...
Рейтинг: 0 / 0
07.11.2016, 13:58
    #39342568
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Hello, Kdv!
You wrote on 7 ноября 2016 г. 13:56:29:

Kdv> UDF это компилируемая функция, которая работает наравне с другим кодом Firebirdпомнится, в планах было "заключать" вызов УДФ в безопасную коробочку.
были ли подвижки в эту сторону?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.11.2016, 14:00
    #39342570
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
kdvникакой "нехилой нагрузки" вообще быть не может
Почитай трекер насчёт резких тормозов только за счёт увеличения параметров при объявлении
UDF c CSTRING(100) до CSTRING(32000).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.11.2016, 14:01
    #39342572
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
kdvесли только программист не понаписал какой-нибудь фигни в этой udf, типа коннекта к другому серверу и прочих ужасов.
Да нет, обычные работы со строками
...
Рейтинг: 0 / 0
07.11.2016, 14:01
    #39342573
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Мне кажется, сейчас для оправдания использования UDF есть три причины:
1. Открытая старая база, с которой работают много старых программ (неизвестно каких и кем писанных), которые успели заюзать UDF.
2. Необходимость сложных вычислений, о которых база не имеет представления, или продублировать их в базе очень сложно и/или критично по времени. Такие случаи редко, но бывают.
3. Старый проект, который работает сам и не требует поддержки и развития.

3.5. Тут еще недавно тема была - там в триггере ON CONNECT использовалась UDF по каким-то соображениям.

В любом случае, конечно, удобнее не использовать их. Намного удобнее, это ясно. Они же платформо-зависимые.
...
Рейтинг: 0 / 0
07.11.2016, 14:13
    #39342581
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Мимопроходящийпомнится, в планах было "заключать" вызов УДФ в безопасную коробочку.
насколько я помню, это были не планы, а исходные варианты подключения udf (Харрисон сообщала). Либо в коробочку, либо без. И решили, что с коробочкой будет большой оверхед, поэтому сделали без коробочки.

YuRock
правила простые. Если есть встроенная функция, лучше использовать ее. Если нет встроенной функции, то лучше использовать что-то стандартное из ibudf/fbudf. Если там такой нет - да, самописное. Но платформозависимость и 32/64 бит - это да, геморрой.
...
Рейтинг: 0 / 0
07.11.2016, 14:27
    #39342599
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
kdvНо платформозависимость и 32/64 бит - это да, геморрой.

Тут надо уточнить одну мелочь: "если у вас под рукой только криворукий дельфин".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.11.2016, 14:33
    #39342614
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Hello, Dimitry Sibiryakov!
You wrote on 7 ноября 2016 г. 14:33:23:

Dimitry Sibiryakov> Тут надо уточнить одну мелочь: "если у вас под рукой только криворукий дельфин".Drunken Dolphin (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.11.2016, 15:05
    #39342664
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Dimitry SibiryakovТут надо уточнить одну мелочь
Да тут не в сборке удф под разные платформы дело :)

Если нет удф - (при необходимости переноса базы на другой сервер) достаточно просто скопировать файл базы на другой сервер - и всё.
А если есть удф - надо об этом не забыть и выбрать нужные (найти их, при чем - необходимых версий), не ошибясь при этом. Это вопросы поддержки.
...
Рейтинг: 0 / 0
07.11.2016, 15:19
    #39342694
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Gallemarkdvесли только программист не понаписал какой-нибудь фигни в этой udf, типа коннекта к другому серверу и прочих ужасов.
Да нет, обычные работы со строками

если есть аналогичная по функционалу встроенная функция, то лучше использовать её. Если нет, то используй UDF как и раньше. Это, то что касается 2.5.

В 3.0 ряд UDF можно заменить на PSQL функции. По скорости они вряд ли будут быстрее, но сопровождение будет проще.
...
Рейтинг: 0 / 0
10.11.2016, 12:22
    #39344713
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
kdvUDF это компилируемая функция, которая работает наравне с другим кодом Firebird, никакой "нехилой нагрузки" вообще быть не может

а ест ьвстроенные функции, про которые знает оптимизщатор и учитывает их особенности?

в отличие от UDF который напрочь чёрный ящик
...
Рейтинг: 0 / 0
10.11.2016, 12:26
    #39344716
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Arioch,

Например, как он должен учесть их особенности?
...
Рейтинг: 0 / 0
10.11.2016, 12:26
    #39344717
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Arioch,

для этого нужно точное знание, детерминирован результат функции или нет. у PSQL функций такой параметр есть (DETERMINISTICS). У SDF, как и у UDF, такого параметра нет (почему-то).
...
Рейтинг: 0 / 0
10.11.2016, 12:27
    #39344719
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отказ от UDF
Arioch,

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


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