|
Запрос скорость выполнения | ☑ | ||
---|---|---|---|---|
0
бегинер
25.01.17
✎
09:46
|
есть такой вот запрос:
есть два справочника: ДислокацияВагоныСписок (в нем номера жд вагонов) ДислокацияВагоныАрхив (история движений вагонов) 1 часть запроса выбирает для каждого вагона макс дату - дату последних зарегенных сведений 2 часть - делает отбор из архива по максимальной дате (последние сведения) для каждого вагона. база файловая, список вагонов 100 шт, архив движений - записей 150 тыс. после добавления новых данных по движениям - запускаю запрос, выполняется минуту где-то, делаю запрос на выполнение раз 5-6 и потом через некоторое время - мгновенно выполняется, на сервере я один, память и проц не перегружены. это какие-то особенности 1с. почему так происходит? |
|||
1
DrShad
25.01.17
✎
09:49
|
кэширование
|
|||
2
vicof
25.01.17
✎
09:49
|
(1) +1
|
|||
3
DrShad
25.01.17
✎
09:50
|
зачем каждый раз считать одно и то же? вот и система кэширует запросы и их результаты и если источник не менялся, то и результат не меняется
|
|||
4
бегинер
25.01.17
✎
09:50
|
ДислокацияВагоныАрхив (история движений вагонов)
Номер (номер вагона, число) соединение по нему в запросе ДатаПолучения (дата) соединение по нему в запросе Статус (текст) эти три поля индексируемые, остальные нет (не стоит галка "индексировать") |
|||
5
бегинер
25.01.17
✎
09:51
|
т.е. если кэш очищу у пользователя - будет опять медленно?
сча попробую проверить |
|||
6
бегинер
25.01.17
✎
09:56
|
c:\Documents and Settings\ХХХ\Local Settings\Application Data\
c:\Documents and Settings\ХХХ\Application Data\ удалил все внутри по 1с запрос все мгновенно выполняется |
|||
7
zvial
25.01.17
✎
10:03
|
А как вы планировали кэш в оперативной памяти почистить? То что вы удалили - это всего лишь временные файлы 1С.
|
|||
8
zvial
25.01.17
✎
10:04
|
Какой ВУЗ заканчивали?
|
|||
9
бегинер
25.01.17
✎
10:04
|
перегрузил серв - опять долго значит кэширование.
|
|||
10
бегинер
25.01.17
✎
10:05
|
(8) ВУЗ к IT не имел отношения, 1с-ю для себя, свою работу пытаюсь автоматизировать аля хочу "одну кнопку" :)
|
|||
11
zvial
25.01.17
✎
10:06
|
Ясно :)
|
|||
12
бегинер
25.01.17
✎
10:07
|
первый раз идет выполнение сек 30, потом мгновенно. ну и фиг с ним.
если что заведу отдельный справочник, где будут храниться посл данные - чтоб запросом их не вычислять |
|||
13
бегинер
25.01.17
✎
10:08
|
а так сама логика запроса верна?
а то мож не так что у меня там сделано? база файловая, список вагонов 100 шт, архив движений - записей 150 тыс. вроде не большой обьем данных чтоб тормозило так |
|||
14
Dmitrii
гуру
25.01.17
✎
10:11
|
(0) Реализуете периодические регистры сведений на справочниках? Да еще и связываете их не по уникальным ключам? Круто.
А теперь представьте как это всё будет работать, когда объем данных по дислокации накопиться на несколько миллионов записей. А произойдет это очень быстро даже если у вас парк небольшой. >> сама логика запроса верна? Запрос недоделанный. Но проблема не в логике запроса, а в структуре и логике исходных данных. >> если что заведу отдельный справочник таки да - актуальная (текущая, оперативная) дислокация должна, скорее всего, храниться отдельно от исторических данных. Но использовать для этого справочник... А чё не документы или бизнес-процессы? Вагон едет - бизнес-процесс адназначна.... |
|||
15
бегинер
25.01.17
✎
10:14
|
в данном случае движения - это история движения в пути
т.е. например есть у меня документ, отправка вагона "Москва-Питер" - это именно документ а вот как он ехал в пути от Москвы до Питера - это аля справочная инфа и храниться она в "справочнике" архиве дислокации |
|||
16
бегинер
25.01.17
✎
10:18
|
итого есть отдельно список вагонов за которыми слежу, и инфа - история его движений архив.
из архива я могу узнать на опр. время получения данных о нахождении где вагон был. т.е. грубо номер вагона, дата получения справки, место нахождение. как по канонам разработки правильно организовать хранение истории движений, чтоб запросы не тормозили: список вагонов - узнать последнюю дислокацию по ним всем. |
|||
17
бегинер
25.01.17
✎
10:19
|
с чем мне соединять справочник список вагонов?
ну и глубину счас ручками режу , два месяца истории, а так в идеале всю историю хранить хотелось бы |
|||
18
Dmitrii
гуру
25.01.17
✎
10:20
|
(15) Вот и я говорю - дебильная логика.
>> это аля справочная инфа. Это а-ля инфа о состоянии объекта (вагона), развернутая во времени (изменяющаяся во времени). И то, что вам нужны отчеты типа (0), доказывает мои слова. То есть речь идёт о типичном регистре сведений. Однако вы его упорно пихаете в справочник и удивляетесь почему у вас всё медленно работает. Удивляйтесь дальше. |
|||
19
бегинер
25.01.17
✎
10:24
|
(18) ну я же тока учусь :) спасибо за помощь!
упорно пихаю по незнанию и отсутствия опыта. |
|||
20
бегинер
25.01.17
✎
10:26
|
т.е. мой запрос только уже к регистру через "срезпоследних" - не будет уже тормозить?
эти итоги по последней инфо уже в структуре данных регистра будут храниться и агрегироваться платформой и поэтом к ним быстрый доступ будет без вычислений? т.е. типа моего доп справочника с последними акт. данными |
|||
21
бегинер
25.01.17
✎
10:29
|
(14) тоже к жд перевозкам имеете отношение?
|
|||
22
Nuobu
25.01.17
✎
11:06
|
(20) Да, он не будет тормозить.
Логика твоя чем-то похожа на механизм ОС типовых. Посмотри, как там реализовано. |
|||
23
бегинер
25.01.17
✎
11:16
|
(22)
ок попробую спасибо , в плане знаний, чтоб не изобретать как тут говорят велосипед, а юзать типовые механизмы платформы. |
|||
24
бегинер
25.01.17
✎
11:19
|
||||
25
asady
25.01.17
✎
11:40
|
(0) файловая - песочница
будь мужиком, блеать - переходи на скуль историю лучше в РС |
|||
26
H A D G E H O G s
25.01.17
✎
12:26
|
Хорошая попытка, РЖД
|
|||
27
бегинер
25.01.17
✎
12:36
|
(26) ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |