Форум: "Базы";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
Вниз
Исключение 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c