Текущий архив: 2003.10.06;
Скачать: CL | DM;
Вниз
Исключение MAX() Найти похожие ветки
← →
rava © (2003-09-15 16:49) [0]Есть SP, в нем:
Select Max(KOD) From Saldo
Where saldo.NCH = :iNch And saldo.DPLT <= :iDPlt
Order By KOD Desc
Into :MaxKey;
Как в запросе получить значение первой записи, т.е. я хочу
исключить использования функции MAX(), т.к. первая запись и есть
максимальная значение которая мне нужна. Спасибо всем.
← →
Johnmen © (2003-09-15 17:12) [1]
FOR
Select KOD From Saldo
Where saldo.NCH = :iNch And saldo.DPLT <= :iDPlt
Order By KOD Desc
Into :MaxKey
DO BEGIN;
SUSPEND; EXIT;
END
← →
vopros © (2003-09-15 17:16) [2]first-наверное поможет
← →
Sandman25 © (2003-09-15 17:20) [3]А вообще зачем избавляться от MAX? Без него любая конструкция будет выполняться дольше. Сортировка - дорогая операция.
← →
Johnmen © (2003-09-15 17:46) [4]>Sandman25 © (15.09.03 17:20)
"Вот ымэнно, вот ымэнно !" (c) Хрюн Моржов
:)))
← →
Rava © (2003-09-15 17:47) [5]Johnmenu - спасибо за простое решение проблемы.
VOPROS - как использовать first, никогда непользовалься.
Sandman25 - По моим экспериментам MAX() выполняется дольше при увеличении кол-во записей в таблице SALDO.
← →
Johnmen © (2003-09-15 17:51) [6]>Rava © (15.09.03 17:47)
По идее MAX() должен отрабатывать практически мгновенно, если по полю KOD есть индекс.
← →
Sandman25 © (2003-09-15 17:55) [7]Даже если нет индекса, то select max не может выполняться медленнее, чем select order by.
Вот если Вы сравнивали select max с простым select ( без order by), тогда, конечно, может и медленнее.
Страницы: 1 вся ветка
Текущий архив: 2003.10.06;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.018 c