Имя: Пароль:
1C
1С v8
Оптимизация запроса по регистру сведения. Возможна?
,
0 Z_Z
 
26.07.13
12:30
Есть регистр сведений непериодический и независимый - значение свойств объекта.

в нем миллион записей.
делаю запрос по конкретному свойству и по конкретному объекту и запрос думает минут 5-7
есть какие-то методы оптимизации запроса?

ВЫБРАТЬ
     ЗначенияСвойствОбъектов.Свойство.Ссылка,
     ЗначенияСвойствОбъектов.Значение,
     ЗначенияСвойствОбъектов.Объект
ИЗ
     РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ГДЕ
     ЗначенияСвойствОбъектов.Свойство.Ссылка = &Ссылка
     И ЗначенияСвойствОбъектов.Объект.Ссылка В ИЕРАРХИИ(&НОм)
1 Cube
 
26.07.13
12:31
(0) Попробуй не использовать конструкцию "В ИЕРАРХИИ"
2 Gammi
 
26.07.13
12:32
Попробуй
Выразить(ЗначенияСвойствОбъектов.Объект как Справочник.Номенклатура).Ссылка В ИЕРАРХИИ(&НОм)
и лучше иерархию заменить на в из врем талицы
3 Z_Z
 
26.07.13
12:47
Спасибо, пробую...
4 Fragster
 
модератор
26.07.13
12:47
ЗначенияСвойствОбъектов.Свойство = &Ссылка
И ЗначенияСвойствОбъектов.Объект В ИЕРАРХИИ(&НОм)
5 Fragster
 
модератор
26.07.13
12:48
И объект Ссылка Справочник.Номенклатура
6 Fragster
 
модератор
26.07.13
12:48
300 рублей в кассу
7 H A D G E H O G s
 
26.07.13
12:48
(2) Пофиг.
8 Fragster
 
модератор
26.07.13
12:49
ВЫБРАТЬ
     ЗначенияСвойствОбъектов.Свойство,
9 Loki Evil
 
26.07.13
12:49
(2) да, можно попробовать, должно быть быстрее

Еще можно попробовать вдобавок условие
ГДЕ ЗначениеСвойствОбъектов.Объект ССЫЛКА Справочник.Номенклатура
10 H A D G E H O G s
 
26.07.13
12:50
(5) Там в Индексе ТипЗначения идет первым?
11 Fragster
 
модератор
26.07.13
12:52
(10) тип-типссылки-значениессылки
12 Maxus43
 
26.07.13
12:52
Свойство.Ссылка - первый косяк, потом уж пусть смотрит как со скоростью
13 Широкий
 
26.07.13
12:54
(12) Это не косяк - косячино
14 Широкий
 
26.07.13
12:55
и попробовать у объекта все же привести тип
15 H A D G E H O G s
 
26.07.13
13:00
(14) А вот и нет.

clustered index seek по индексу по измерениям.
16 H A D G E H O G s
 
26.07.13
13:02
Без приведения типа.
17 Широкий
 
26.07.13
13:02
(15) Поиск по индексу у него по свойству пройдет.
А при ограничении типа - чтобы тип объекта еще не проверял
18 Широкий
 
26.07.13
13:03
+16 И давно ли в этом регистре стали объекты индексировать?
19 Fragster
 
модератор
26.07.13
13:03
(15) без (5)? 1с-то умный иногда, но не всегда.
20 Maxus43
 
26.07.13
13:04
(17) не всё так просто на скуле... иногда запрос и проверка типа получется ужасен. типа НЕ ТИП В (список всех других типов) :)
21 H A D G E H O G s
 
26.07.13
13:08
(18) С того момента, как они стали Ведущими Измерениями.
22 H A D G E H O G s
 
26.07.13
13:09
(20) А ты это ВИДЕЛ?
23 Maxus43
 
26.07.13
13:10
(22) ага, пару раз. Просто удивился и пошёл дальше. Если встречу ещё - скину пример тебе запроса
24 Z_Z
 
26.07.13
13:22
По экспериментировал....
Эта строка    "ЗначенияСвойствОбъектов.Свойство.Ссылка"
с заменой на "ЗначенияСвойствОбъектов.Свойство"
Не сказалось наскорости, наверное свойсты не много

А все тормоза были из-за этой

ЗначенияСвойствОбъектов.Объект.Ссылка В ИЕРАРХИИ(&НОм)
так все ок
ЗначенияСвойствОбъектов.Объект В ИЕРАРХИИ(&НОм)
25 Maxus43
 
26.07.13
13:23
(24) суть в том что указали что .Ссылка - это ошибка, не делай так никогда)
26 magicSan
 
26.07.13
13:28
(24) на сколько всё ок? сколько сейчас рабоатет?
27 H A D G E H O G s
 
26.07.13
13:28
Поэкспериментируйте с Индексами для Ведущих измерений. Это интересно.
28 H A D G E H O G s
 
26.07.13
13:29
А мне нетленку надо писать. Заводы ждут.
29 Fragster
 
модератор
26.07.13
13:32
(28) лучше мне болванку нативной ВК скинь на куте или чтобы оно gcc компилилось
30 H A D G E H O G s
 
26.07.13
13:36
(29) Слов то каких понапридумывали. Я в конце концов остановился на Delphi 2009. Он шикарен.
31 Fragster
 
модератор
26.07.13
13:37
(30) надо под линупс
32 Широкий
 
26.07.13
13:57
(15) Все верно.. Тип приводить не надо.
Юзается индекс по измерениям
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший