|
Какой запрос быстрее отработает? | ☑ | ||
---|---|---|---|---|
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 секунд...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |