Имя: Пароль:
1C
1С v8
Нужен совет по регистру накопления
,
0 yolops
 
30.04.14
11:39
Нужен совет. Есть регистр накопления. В нем несколько измерений. Измерения в таком порядке:
   - Заказ
   - Номенклатура
   - Характеристика
   - Склад
Порядок измерений по принципу где больше данных тот вверху. Ничего не индексировал. В системе количество запросов с фильтром только по заказу и фильтром только по номенклатуре приблизительно одинаковое. Проблема в том, что запросы с фильтром только по номенклатуре  выполняются очень долго. Что тут можно придумать?
1 Fragster
 
гуру
30.04.14
11:41
поставь галочку "индексировать" на номенклатуру, чо
2 ДенисЧ
 
30.04.14
11:41
Профайлером посмотреть запросы и планы
3 rozer76
 
30.04.14
11:42
>>Порядок измерений по принципу где больше данных тот вверху.
где больше что? Селективность?
4 Джинн
 
30.04.14
11:42
Если реквизит уже проиндексирован, то практически ничего. Если конечно сам запрос не через жпо написан.
5 neo_matrix_123
 
30.04.14
11:43
(4)+1
6 yolops
 
30.04.14
11:45
(1) Потом запросы по с фильтром по заказу начнут тормозить заказу
7 yolops
 
30.04.14
11:47
(6) такое написал  =)
8 Ненавижу 1С
 
гуру
30.04.14
11:50
(6) почему? индекс по-умолчанию не исчезнет
9 GROOVY
 
30.04.14
11:51
(1) Галочка влияет только на индексацию движений. Остатки с оборотами и так проиндексированы.
10 Ненавижу 1С
 
гуру
30.04.14
11:51
(9) но остатки не на конец периода берутся частично из движений же
11 rozer76
 
30.04.14
11:56
Выше всего необходимо ставить измерения, которые будут чаще запрашиваться. Если не ставить спец. индексирование то один кластерный индекс уже есть (включает все измерения) т.е. в твоем случае если в запросе указать не все поля, например "Номенклатуру+Характеристику" но не указать "Заказ" - выборка неопримальна т.к. индекс не будет использоваться. Так что и порядок зависит от наиболее частых вариаций запросов.
12 Fragster
 
гуру
30.04.14
12:09
(9)
13 Fragster
 
гуру
30.04.14
12:09
регистр накопления
Основная таблица
Период + Регистратор + НомерСтроки
Регистратор + НомерСтроки
Этот индекс создается всегда для любого регистра накопления.
Измерение + Период + Регистратор + НомерСтроки
Этот индекс создается, если для измерения свойство Индексироватьуста-новлено в значение Индексировать.
Реквизит + Период + Регистратор + НомерСтроки
Этот индекс создается, если для реквизита свойство Индексироватьуста-новлено в значение Индексировать.
Таблица итогов
Период +  Измерение1 +  Измерение2 +  …  +  ИзмерениеN +  Разделитель –
по всем измерениям регистра.
Измерение + Период – если для измерения Измерениесвойство Индексиро-ватьустановлено в значение Индексировать.
14 yolops
 
30.04.14
12:22
(1) Индексирование не помогло =(
15 Fragster
 
гуру
30.04.14
12:24
(14) а пример запроса будет?
16 yolops
 
30.04.14
12:30
"ВЫБРАТЬ
|    РезервыОстатки.Номенклатура,
|    РезервыОстатки.Характеристика,
|    РезервыОстатки.Заказ,
|    РезервыОстатки.Склад,
|    РезервыОстатки.РезервОстаток,
|ИЗ
|    РегистрНакопления.Резервы.Остатки(
|            &НаДату,
|            1 = 1
|                И Заказ В (&ВыбЗаказы)
|                И Номенклатура В (&ВыбНоменклатура)) КАК РезервыОстатки
|
|УПОРЯДОЧИТЬ ПО
|    РезервыОстатки.Заказ.МоментВремени
|    Номенклатура,
|    Характеристика,
|    Склад
17 yolops
 
30.04.14
12:31
Запрос выполняется в транзакции при проведении документ
18 Fragster
 
гуру
30.04.14
12:37
(16) итоги рассчитаны?
19 Fragster
 
гуру
30.04.14
12:37
заказ - составной тип?
20 Fragster
 
гуру
30.04.14
12:38
использование текущих итогов включено?
21 Fragster
 
гуру
30.04.14
12:39
ну и да - поскольку запрос не рабочий, предполагаю, что из него что-то важное вырезано
22 vi0
 
30.04.14
16:14
(16)  в (0) ты писал про проблемы с отбором только по номенклатуре
23 yolops
 
30.04.14
16:23
(18)Итоги не рассчитаны;
(19)Заказ - составной тип;
(20)использование текущих итогов включено
(21)Запрос не рабочий потому что убрал остальные ресурсы, там было еще 2 ресурса с типом число
(22)Так и есть
24 yolops
 
30.04.14
16:24
это в старых документах, за 2012 год
25 Ёпрст
 
30.04.14
16:28
все беды из-за заказа составного типа
26 vi0
 
30.04.14
16:57
(23) а в примере запроса отбираешь по заказам
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.