powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / сколько раз вызовется UDF в запросе ?
8 сообщений из 8, страница 1 из 1
сколько раз вызовется UDF в запросе ?
    #36229844
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi All,

Есть таблица из 100 записей.
Делаю к этой таблице запрос:
Код: plaintext
select FIIELD1, FIELD2, dba.MyFunction(FIELD1) as FLG from MYTABLE where FIELD3 =  10 
Данный запрос вернет 5 строк.

Вопрос: UDF MyFunction вызовется 5 раз (т.е. по числу возвращенных строк) или 100 раз (по числу записей в таблице которые будет обходить запрос) ?
...
Рейтинг: 0 / 0
сколько раз вызовется UDF в запросе ?
    #36229930
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stalker4,

по числу возвращенных строк
...
Рейтинг: 0 / 0
сколько раз вызовется UDF в запросе ?
    #36230096
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antandStalker4,

по числу возвращенных строк
если только FLG <> FIELD3
...
Рейтинг: 0 / 0
сколько раз вызовется UDF в запросе ?
    #36230157
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pand,
Согласен.
...
Рейтинг: 0 / 0
сколько раз вызовется UDF в запросе ?
    #36240801
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pandantandStalker4,

по числу возвращенных строк
если только FLG <> FIELD3
Эээ, не понял это утверждение. Если можно, то разъясните его.
...
Рейтинг: 0 / 0
сколько раз вызовется UDF в запросе ?
    #36240916
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если функция находится в WHERE или JOIN ON, то она будет вызываться для каждой строки перед выборкой. Если функция находится в списке возвращаемых колонок, то она будет вызваться только для возвращаемых строк.

А если мы говорим про SA, то играет еще одно правило: Если функция создана с модификатором DETERMINISTIC (по умолчанию), то она будет вызываться только для уникальных параметров (не уникальные будут браться из кеша). Если она объявлена как NOT DETERMINISTIC, то будет вызываться для каждой строки.
...
Рейтинг: 0 / 0
сколько раз вызовется UDF в запросе ?
    #36251278
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlЕсли она объявлена как NOT DETERMINISTIC, то будет вызываться для каждой строки.
Тут имеется ввиду для каждой возвращаемой строки ?
...
Рейтинг: 0 / 0
сколько раз вызовется UDF в запросе ?
    #36251469
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stalker4White OwlЕсли она объявлена как NOT DETERMINISTIC, то будет вызываться для каждой строки.
Тут имеется ввиду для каждой возвращаемой строки ?
модификатор DETERMINISTIC играет роль внутри выполнения функции, т.е. после того как она уже вызвана. А сколько раз она будет вызвана White Owl красиво ответил.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / сколько раз вызовется UDF в запросе ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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