|
Долго выполняется запрос. 8.2 | ☑ | ||
---|---|---|---|---|
0
Программисточка
28.02.12
✎
18:13
|
Имеется очень простой, но большой регистр сведений:
независимый, периодичность в пределах секунды, одно измерение и 3 ресурса. Запрос вида: ВЫБРАТЬ РССрезПоследних.Измерение ИЗ РегистрСведений.РС.СрезПоследних() КАК РССрезПоследних выполняется 5 секунд, причем нет почти никакой разницы выбираем мы только одно измерение или вместе со всеми ресурсами, хотя по нему же должен быть индекс. В чем может быть дело и как это исправить? |
|||
1
PR
28.02.12
✎
18:17
|
Попробуй выбрать из обычной таблицы и потом сделать левое соединение со срезом
|
|||
2
PR
28.02.12
✎
18:17
|
Ну и фото ессно :))
|
|||
3
Программисточка
28.02.12
✎
18:33
|
не помогает... соединение же все равно по этому же измерению идет, выполняется столько же, даже на пару секунд подольше.
мне кажется тут надо индексы заново построить или что-то в этом роде, только не знаю как |
|||
4
PR
28.02.12
✎
18:34
|
Попробуй срез сама сделай по реальной таблице.
|
|||
5
fisher
28.02.12
✎
18:36
|
(0) И какое количество строк возвращает?
|
|||
6
Программисточка
28.02.12
✎
18:45
|
(5)Возвращает около 100 строк
(4)Получилось нормальное время с помощью "сраза последних вручную", но хочется чтобы срез последних тоже работал |
|||
7
fisher
28.02.12
✎
18:47
|
Хм... Файловая?
|
|||
8
Программисточка
28.02.12
✎
18:49
|
(7) нет
|
|||
10
Fragster
гуру
28.02.12
✎
18:49
|
(8) постгре? дб2? своя субд с прослойкой в виде эмуляции мсскуля?
|
|||
11
Программисточка
28.02.12
✎
18:51
|
(10) postgres
|
|||
12
PR
28.02.12
✎
18:55
|
Срез последних в регистре сведений не будет работать быстрее, типа как в регистре накопления.
|
|||
13
Программисточка
28.02.12
✎
18:57
|
(12) в смысле так и задумано и вообще-вообще ничего нельзя изменить?
|
|||
14
Программисточка
28.02.12
✎
18:58
|
а то я пока в администрировании баз данных можно сказать совсем не разбираюсь, меня пока только научили бэкапы делать и восстанавливаться из бэкапов... я думала что можно сделать заново какое-нибудь построение индексов и все будет летать
|
|||
15
Escander
28.02.12
✎
19:06
|
(0) никаих парамтеров не задаётся? отбираем во всех разрезах на 01.11.3999?
|
|||
16
fisher
28.02.12
✎
19:07
|
(15) Так у неё всех комбинаций меньше сотни.
|
|||
17
fisher
28.02.12
✎
19:09
|
Я только одного не понял. Реально "эмуляция" среза последних получилась быстрее что ли? Если верить (6)?
|
|||
18
Программисточка
28.02.12
✎
19:09
|
(15) вначале было РегистрСведений.РС.СрезПоследних(&Дата), но так даже дольше работало
|
|||
19
Программисточка
28.02.12
✎
19:11
|
(17) да, "эмуляция" намного быстрее, 0,2 минуты
|
|||
20
Программисточка
28.02.12
✎
19:14
|
только не совсем все-таки "эмуляция", левое соединение со справочником, в котором, собственно, все 100 значений моего измерения. Причем если этот справочник со СрезомПоследних соединять, то никакой выгоды по скорости нету, а если взять во вложенном запросе максимум по периоду и т.д, то быстрее
|
|||
21
Escander
28.02.12
✎
19:14
|
Срезы регистров сведений всегда работа с физической таблицей...
там никакие регламентын операции е пора делать/кэши чистить? Как это с см-скл знаю а как пострге - не в теме... а в ТЖ какой запрос на сервер уходит? |
|||
22
Программисточка
28.02.12
✎
19:15
|
(21) ТЖ это что? я таким, наверное, не умею пользоваться)
|
|||
23
Программисточка
28.02.12
✎
19:16
|
(21) может и пора какие-нибудь операции делать... хз... надо у предшественника узнать
|
|||
24
Escander
28.02.12
✎
19:18
|
(20) видимо какое-то попадание в индекс или у оптимизатора статистика слетела
ТЖ - технологиеский журнал |
|||
25
Escander
28.02.12
✎
19:20
|
ЭмулЯция это отбираем по всем разрезщам максимум дат менее указаной для всех разрезов во временную таблицу и потов внутреннее с самим собой?
|
|||
26
Escander
28.02.12
✎
19:20
|
в смысле веменную соединяем с регитром по всем разрезам
|
|||
27
Escander
28.02.12
✎
19:23
|
если не ошибаюсь у регистра сведений индекс = дата + измерение1 + измерение2 + ...
если в эмуляции поменять местами условия связи может получиться совсем дургое время! |
|||
28
Программисточка
28.02.12
✎
19:29
|
ну у меня связь сначала по измерению, потом по периоду, т.е. если я их поменяю, то должно стать еще быстрее
|
|||
29
Escander
28.02.12
✎
19:37
|
(28) надо пробовать, т.к. есть и дургие моменты, если у измерения свойство индексировать = индексировать - то будет построен ещё 1 индекс...
я-б сделал замер для разных вариантов. |
|||
30
Escander
28.02.12
✎
19:38
|
+(29) а как там у вас отрабатвает оптимизатор запроса со стороны базовода - неопнятно, очень похоже, что не с тем индексом он старатемся что-то сделать
|
|||
31
Escander
28.02.12
✎
19:57
|
По поводу регламента: ТиИ + банальный выгрузить-загрузить как правило решает 90% простых проблем.
|
|||
32
Программисточка
28.02.12
✎
20:17
|
(31) понятно, спасибо :)
(4) а Вам особенное спасибо, потому что совет помог :) |
|||
33
Escander
29.02.12
✎
05:35
|
(32)потом отпишитесь (31) помогло или всё так и осталось.
|
|||
34
PR
29.02.12
✎
09:54
|
(32) Пожалуйста.
(13) Да, так и задумано. В регистрах накопления виртуальные таблицы — это хранящиеся агрегаты, а в регистре сведений нет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |