Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
1-18314
Лана Розанова
2003-09-21 16:41
2003.10.06
Запуск сервиса


3-18220
Voland777
2003-09-17 11:52
2003.10.06
Вывод в программу выходного параметра хранимой проседуры


1-18369
Mihey
2003-09-21 22:33
2003.10.06
Нужен компонент...


3-18263
KIR
2003-09-15 17:06
2003.10.06
Строка соединения с IB


7-18647
Dmitriy
2003-07-22 00:43
2003.10.06
---|Ветка была без названия|---