|
Вопрос про скорость работы с регистром накопления оборотов | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
PR
28.08.13
✎
11:43
|
Предположим, что есть регистр накопления оборотов "Суммы" со следующими полями:
Измерения: — Измерение1, индексируемое — Измерение2, индексируемое Ресурсы: — Сумма Если я правильно понимаю, то в 1С для этого регистра есть индекс, который работает, если я задаю отбор по некоторым измерениям, но поля пропускать нельзя? То есть: — Вариант выборки в запросе с отбором по измерению "Измерение1" будет работать быстро — Вариант выборки в запросе с отбором по измерению "Измерение2" будет работать медленно — Вариант выборки в запросе с отбором по измерениям "Измерение1" и "Измерение2" будет работать быстро Так? |
||||||||||
1
Широкий
28.08.13
✎
11:44
|
не так
|
||||||||||
2
Ненавижу 1С
гуру
28.08.13
✎
11:46
|
а что тебе не дает посмотреть состав построенных индексов на SQL?
|
||||||||||
3
Maxus43
28.08.13
✎
11:47
|
а по какой конкретно таблице ты запрос делать будешь?
|
||||||||||
4
Maxus43
28.08.13
✎
11:49
|
+ По основной таблице - без разницы, а по таблице оборотов - там индекс имеет вид Период + Измерение1 + ИзмерениеN + разделитель.
|
||||||||||
5
Ненавижу 1С
гуру
28.08.13
✎
11:56
|
(4) почему по основной без разницы? там тоже индексы строятся
|
||||||||||
6
PR
28.08.13
✎
11:59
|
(1) Черт, я так и знал. Спасибо за развернутое объяснение :))
|
||||||||||
7
PR
28.08.13
✎
12:00
|
(3) По виртуальной
|
||||||||||
8
Maxus43
28.08.13
✎
12:00
|
(4) в скорости без разницы, там отдельный индекс на каждое измерение, всмысле
Измерение1 + Период + Регистратор + НомерСтроки ИзмерениеN + Период + Регистратор + НомерСтроки |
||||||||||
9
PR
28.08.13
✎
12:01
|
(4) Ну, то есть без отбора по измерению "Измерение1" для отбора по изменению "Измерение2" индекс задействован не будет?
|
||||||||||
10
Maxus43
28.08.13
✎
12:01
|
(9) А енто смотри план запроса
|
||||||||||
11
PR
28.08.13
✎
12:02
|
(8) А на все комбинации измерений тоже есть индексы?
|
||||||||||
12
PR
28.08.13
✎
12:02
|
(10) Причем здесь план запроса?
Либо есть возможность использовать индекс либо нет. |
||||||||||
13
Ненавижу 1С
гуру
28.08.13
✎
12:03
|
(9) с чего ты решил?
|
||||||||||
14
PR
28.08.13
✎
12:05
|
(13) Я же написал в (0) "поля пропускать нельзя?".
Я так понимаю, что если в индексе "Измерение 1 + Измерение 2", то нельзя отбирать по измерению 2 без отбора по измерению 1. Не? |
||||||||||
15
Maxus43
28.08.13
✎
12:06
|
(12) притом что я не помню)
|
||||||||||
16
Maxus43
28.08.13
✎
12:07
|
(11) нет. Открой толстую книжку, страница 680 в редакции 2. По хорошему то надо смотреть в (2)
|
||||||||||
17
Ненавижу 1С
гуру
28.08.13
✎
12:10
|
(14) сделал регистр как у тебя, посмотрел индексы, которые создались именно после включения "индексировать":
В таблица движений создался индекс на каждое измерение В таблице оборотов - на второе измерение (на первое+второе было и ранее) так что твой вывод не верен |
||||||||||
18
Широкий
28.08.13
✎
12:10
|
(14) Скуль может задействовать этот индекс, отберет по одному измерению, а потом выборку отфильтрует по второму
|
||||||||||
19
Fragster
модератор
28.08.13
✎
12:11
|
да, 1су не хватает нормального управления индексами из платформы
|
||||||||||
20
PR
28.08.13
✎
12:12
|
(16) Так я про то и говорю, что раз нет, то получается поля в отборе пропускать нельзя, иначе индекс работать не будет. Так?
|
||||||||||
21
Maxus43
28.08.13
✎
12:13
|
(20) я не смотрел, но видимо таки (17), ибо он смотрел
|
||||||||||
22
PR
28.08.13
✎
12:14
|
(17) Блин, это был простой пример. Хорошо, усложняю :))
Предположим, что есть регистр накопления оборотов "Суммы" со следующими полями: Измерения: — Измерение1, индексируемое — Измерение2, индексируемое — Измерение3, индексируемое Ресурсы: — Сумма То есть вариант выборки в запросе с одновременным отбором по измерениям "Измерение2" и "Измерение3" будет работать медленно? |
||||||||||
23
Широкий
28.08.13
✎
12:18
|
(22) см (18)
|
||||||||||
24
Gammi
28.08.13
✎
12:21
|
Была статья про пропуск измерений.
Не покрывающий индекс получается.Будет работать медленнее.(по материалам статьи) |
||||||||||
25
viktor_vv
28.08.13
✎
12:22
|
(22) Будет медленно.
Если будет отдельный индекс на какое-либо из измерений отбора, то может пойти по варианту (18). |
||||||||||
26
PR
28.08.13
✎
12:24
|
(18) Это понятно. Мерси.
Тогда следующий вопрос. Допустим, измерение 1 — это организации и их 5 штук. Что будет быстрее? 1. Отбор по измерениям 2 и 3 без отбора по измерению 1 2. 5 объединений с отборами по измерениям 2 и 3 с отбором по конкретной организации (первая в первом объединении, вторая во втором и т. д.) |
||||||||||
27
viktor_vv
28.08.13
✎
12:24
|
(25)+ Обычно по оборотам еще присутствует условие по периоду, так что по предопределенному индексу может выгрести записи по периоду.
|
||||||||||
28
viktor_vv
28.08.13
✎
12:25
|
(26) Имхо, второй вариант быстрее будет.
|
||||||||||
29
Ненавижу 1С
гуру
28.08.13
✎
12:25
|
(26) это надо замерять
|
||||||||||
30
Fragster
модератор
28.08.13
✎
12:25
|
если РЕАЛЬНО в скорость упирается - делай измерение справочник, который будет играть роль комбинации необходимых для поиска реквизитов
|
||||||||||
31
Fragster
модератор
28.08.13
✎
12:25
|
в остальных случаях предлагаю автору забить
|
||||||||||
32
viktor_vv
28.08.13
✎
12:27
|
(28)+ Я так понял условие по периоду предполагается по умолчанию? Так как без него использование предопределенного индекса идет лесом.
|
||||||||||
33
PR
28.08.13
✎
12:29
|
(32) Эээ... то есть если я не делаю отбор по периоду, то весь индекс идет лесом? Можно использовать только индекс по одному измерению?
|
||||||||||
34
giallo
28.08.13
✎
12:31
|
(33) кластерный индекс идет лесом. Который Период + Измерение1 + ИзмерениеN
|
||||||||||
35
viktor_vv
28.08.13
✎
12:31
|
(33) В виртуальной таблице, если пропущены условия по периоду, они вроде сами подставляются по максимуму.
К реальной можно самому добавиь условие по периоду с максимальными границами. |
||||||||||
36
Широкий
28.08.13
✎
12:32
|
(33) Остаются индексированные измерения.. у них индекс "Реквизит+Период"
|
||||||||||
37
PR
28.08.13
✎
12:33
|
(35) Вот. А то у меня сразу вопрос был, как же все работает быстро в виртуальной таблице, если я по периоду не делаю отбор :))
|
||||||||||
38
Широкий
28.08.13
✎
12:34
|
(33) если ты про таблицу итогов у оборотного регистра, то она не всегда задействована
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |