Вход | Регистрация


1С:Предприятие ::

Метки: 

Какой запрос получения максимального значения будет быстрее?

Я
   Dzenn
 
29.06.18 - 18:05
1. Вариант 10% (0)
2. Вариант 20% (0)
Всего мнений: 0

Всем привет!

Есть простейший непериодический независимый регистр сведений. Измерение только одно — "НомерПоПорядку", индексируется. Для каждой новой записи рассчитывается и присваивается по правилу МаксимальныйСуществующийНомер + 1.

Как Вы считаете, какой запрос и почему будет работать быстрее? И при каких условиях. Запросы на скрине.


http://prntscr.com/k0uhmr
 
 
   Михаил Козлов
 
1 - 29.06.18 - 18:08
Сделайте еще 1 РС, куда будете писать максимальный номер по порядку.
   ERWINS
 
2 - 29.06.18 - 18:10
Думаю план будет идентичен.
Как минимум на оракле
   H A D G E H O G s
 
3 - 29.06.18 - 18:10
(0) Однозначно 2-ой, но, возможно, SQL настолько мудр, что и первый.

Никаких срезов делать не надо.
   ERWINS
 
4 - 29.06.18 - 18:12
вопрос, есть ли по этому полю индекс?
   H A D G E H O G s
 
5 - 29.06.18 - 18:13
(4) Хароший вопрос, да, ERWINS?
   ERWINS
 
6 - 29.06.18 - 18:14
(5) туплю

будут идентичны
   Dzenn
 
7 - 29.06.18 - 18:21
(6) Предполагаешь или знаешь?
   Fragster
 
8 - 29.06.18 - 18:23
(7) ну так ведь индекс-то есть. правда непонятно, зачем автор делает автоинкремент вот таким вот небезопасным способом?
   Dzenn
 
9 - 29.06.18 - 18:24
(8) а какой ещё способ есть в этих рамках?
   lodger
 
10 - 29.06.18 - 18:36
(9) блокировать регистр пока текущий набор записей не отработает, например.
иначе, в интервал времени, пока предыдущий юзер получил номер, но еще не записал своё - кто-то тоже получит тот же номер и запишет поверх.
 
  Рекламное место пустует
   xXeNoNx
 
11 - 29.06.18 - 22:34
Я за вариант без сортировки, но в целом будет одинаково.
   xXeNoNx
 
12 - 29.06.18 - 22:43
+(11) хотя бы из-за того что проц. подпрыгнет на сортировке
   H A D G E H O G s
 
13 - 29.06.18 - 22:52
(12) Почитайте про кластерный индекс
   mistеr
 
14 - 29.06.18 - 23:19
(13) Такие регистры вроде без кластерного создаются? Или я ошибаюсь?
   mistеr
 
15 - 29.06.18 - 23:20
(0) Вопрос по-моему не стоит выеденного яйца. Будет одинаково. А если регистр вырастет настолько, что появится ощутимая разница, можно ведь переписать. Но гораздо раньше появится проблема (10)
   H A D G E H O G s
 
16 - 29.06.18 - 23:27
(14) С кластерным
   xXeNoNx
 
17 - 30.06.18 - 00:23
(13) а шо там читать.., сортированные данные или не сортированные будут возвращены..., думать не хочу, если есть возможность избежать сортировки, лучше избежать, для меня.
   xXeNoNx
 
18 - 30.06.18 - 00:24
(14) [ОРРХ | ОРНР1 +] Измерение1 + [Измерение2 +...] (Кластерный)
   youalex
 
19 - 30.06.18 - 00:37
В идеале, было бы неплохо, если бы текущий максимум можно было хранить в глобальной переменной сервера. В очень глобальной, такой, например, как блокировка сеанса.
то есть, первое обращение, допустим, инициализирует эту хрень, а дальше, из своего сеанса, мы можем этот счетчик инкрементить. Так, что все другие сеансы будут об этом знать. Но это фантастика, наверное.
   H A D G E H O G s
 
20 - 30.06.18 - 00:43
(17) Это печально.
   H A D G E H O G s
 
21 - 30.06.18 - 00:43
В идеале будет прочитана одна страница индекса. И всё. В неидеале - несколько.
   H A D G E H O G s
 
22 - 30.06.18 - 00:44
Вот такие у нас 1Сники
   sechs
 
23 - 30.06.18 - 00:49
(19) Слава тебе, Господи, что 1Совцы не проектируют SQL сервера!
   xXeNoNx
 
24 - 30.06.18 - 01:19
(21) это прекрасно что это все, ну или почти все, понимают, но разве в (17) я об этом? Не думаю...
   xXeNoNx
 
25 - 30.06.18 - 01:23
(22)а вот тут Вы правы
   H A D G E H O G s
 
26 - 30.06.18 - 01:25
(24) Выбрать 600-ую страницу снизу из 600 страниц гораздо лучше, чем перебирать 600 страниц.
Но я думаю, что SQL достаточно умен, чтобы не перебирать 600 страниц в случае Максимум() а точно также выберет 600 страницу.
Просто с Сортировать это железно будет, а с Максимум - не уверен
   xXeNoNx
 
27 - 30.06.18 - 01:31
(26) конечно лучше, в случае индекса, но если индекса нет. Это не в случае (0)
   МимохожийОднако
 
28 - 30.06.18 - 06:27
Можно сделать замер
   mistеr
 
29 - 30.06.18 - 10:00
(19) Поздравляю, ты почти изобрел нумератор.
   mistеr
 
30 - 30.06.18 - 10:01
(26) С Максимум точно так же ничего железного. Пути планировщика запросов неисповедимы.
   Лефмихалыч
 
31 - 30.06.18 - 16:49



Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует