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

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

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

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

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

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

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


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