Имя: Пароль:
1C
 
Какой запрос быстрее отработает?
,
0 Mihasya
 
17.08.22
03:02
ВЫБРАТЬ ПЕРВЫЕ 1
    АктОбОказанииПроизводственныхУслуг.Дата КАК Дата
ИЗ
    Документ.АктОбОказанииПроизводственныхУслуг КАК АктОбОказанииПроизводственныхУслуг

УПОРЯДОЧИТЬ ПО
    Дата УБЫВ

ИЛИ
    
    
ВЫБРАТЬ
    МАКСИМУМ(АктОбОказанииПроизводственныхУслуг.Дата) КАК Дата
ИЗ
    Документ.АктОбОказанииПроизводственныхУслуг КАК АктОбОказанииПроизводственныхУслуг
1 Обработка
 
17.08.22
05:34
(0) Почему бы тебе это не проверить прям отладкой?
2 Mihasya
 
17.08.22
06:16
спросить проще ))
3 VoditelKobyly
 
17.08.22
07:47
Второй
4 VoditelKobyly
 
17.08.22
07:49
В первом случае индекс скан, плюс сортировка
Во втором индекс скан, плюс агрегатная функция
5 trad
 
17.08.22
10:14
(4) в первом сортировки не будет, индекс уже отсортирован
6 СеменовСемен
 
17.08.22
10:25
Скорее всего оптимизатор скл сам сделает все одинаково
7 СеменовСемен
 
17.08.22
10:26
Но лучше 1, ибо если данных не будет, то первый вернет пустую выборку, а 2 - null
8 bolobol
 
17.08.22
11:28
(7) NULL можно проверить, а ещё, похоже что в разных версиях чего-то - МАКСИМУМ() пустой выборки возвращает пустую выборку, вместо NULL. То ли от настроек зависит, например, скуля.. Нагляднее - второй способ. Категорически нагляднее.
Если чисто поразмышлять, то поиск максимума - это один проход по списку, а сортировка - многократное
9 Said_We
 
18.08.22
16:00
(0) По времени примерно одинаково.
Но иногда в компоновке данных запрос "Выбрать первые 1" приводил к ошибке. А в обычной консоли работало. Помогает использование "Выбрать Максимум(...".
Поэтому стал использовать чаще второй вариант.
10 СеменовСемен
 
18.08.22
16:20
(8) если 1 поле, то null, а если есть еще поля, то пустая выборка
11 mistеr
 
18.08.22
16:25
(0) На MSSQL в таком виде одинаково.

В реальной жизни, скорее всего будут еще другие условия, например на период.
12 Eiffil123
 
18.08.22
17:05
(8) есть такой момент с агрегатными функциями (у нас была проблема с агрегатной функцией СУММА). Одна и та же база на разных серверах давала из-за этого разные результаты вычислений при проведении документа.
13 DTX 4th
 
18.08.22
21:27
Да как в опу разница
Опять оптимизация на спичках?)
14 Mihasya
 
19.08.22
03:21
в общем проверил на регистре накопления, записей почти 10,5 миллионов, в обоих случаях запросы выполняются примерно за 0.004-0.006 секунд...