Имя: Пароль:
1C
1С v8
прерывать исполнение запросов по времени
,
0 prog01
 
01.10.12
15:34
в связи с етм что выяснилось что аналитик запускает отчеты которые грузят базу есть идея тупо прерывать исполнение запросов по времени исполнения

запросы создавались в косоли отчетов и один из процессов сервера 1с выжрал > 22 гига

вопрос как?
1 DrShad
 
01.10.12
15:36
никак
2 1Страх
 
01.10.12
15:37
рубить сессию прямо на SQL
3 IronDemon
 
01.10.12
15:37
Консоль серверов 1С + SQL
4 Darky
 
01.10.12
15:39
Аналитику дать копию базы (файловую), пусть себе там обзапускается
5 prog01
 
01.10.12
15:41
(4)а ещё отдельный сервер и вообще противогаз на не него надеть )))
6 Живой Ископаемый
 
01.10.12
15:42
да, это вариант.. поднять виртуалку ограничить ее 1-2 гигами, и там запустить сервер 1С зарегить в нем базу со ссылкой на ту же базу субд. и дать ссылку онолитегу
7 acsent
 
01.10.12
15:44
на скл можно ограничение поставить
8 DrShad
 
01.10.12
15:44
(5) зачем ему сервак? пусть на файловой крутит
9 prog01
 
01.10.12
15:45
(7)как?
(6)тут софт белый весь и как-то нифига без обсуждения лицензирования не поставишь
10 Живой Ископаемый
 
01.10.12
15:46
2(9) пусть это будет 32-битный линукс сервер... Не совсем белое, но лицензию покупать не надо будет
11 acsent
 
01.10.12
15:47
12 zladenuw
 
01.10.12
15:53
13 hhhh
 
01.10.12
16:13
(9) просто пусть работает на копии. Зачем вы его в рабочую базу запустили?
14 prog01
 
01.10.12
17:04
короче оказалось что во всем виновата консоль отчетов а точнее представления которые она генерит
если кому интресно
15 prog01
 
01.10.12
17:04
+ отбор был не параметром а условием
16 prog01
 
01.10.12
18:17
никогда не думал что будет а вот сейчас интересно что будет на выходе если в одном запросе соединить одну таблицу с двумя другими каждую внутренним соединение по разным полям первой таблицы
17 hhhh
 
01.10.12
18:33
(16) допустим у вас справочник Номенклатура 100000 записей.

Попробуйте

Справочник.Номенклатура
СОЕДИНЕНИЕ Справочник.Номенклатура
ПО ИСТИНА

получите выборку в 10 миллиардов строк.
18 prog01
 
01.10.12
19:01
(17)а если ещё раз в том же запросе с другой таблицей?
тогда как умножать?
19 Живой Ископаемый
 
01.10.12
19:13
2(18) на столько сколько в ней
20 Живой Ископаемый
 
01.10.12
19:13
строк
21 prog01
 
01.10.12
19:23
(20)пусть будет 100
22 Kreont
 
01.10.12
19:34
(0)
I.   Переписать запросы.
II.  Поделить на мелкие, и сделать аналитику готовые настройки (хмл файликом)
III. Аналитик я думаю что потом все это и так в ексель копирует, так что можно сразу сделать "бат"-файл, что б запустить СКД и он по созданным файлам настроек сразу создавал готовые отчеты (xls) и складывал в нужную папку.
23 0xFFFFFF
 
01.10.12
19:45
(0) Запретить аналитегу генерить запросы.
24 Живой Ископаемый
 
01.10.12
19:59
(21) СтрокВТаблице1*СтрокВТаблице2*СтрокВТаблице3. это азы СКЛ безотносительно баз данных, декартово произведение множеств.
25 ПесняПроЗайцев
 
01.10.12
20:06
(8) +1. И на своем компе.)
26 prog01
 
02.10.12
14:41
короче глупостей тут понаписали много да и я тоже увлекся забыв что таблицы перемножаются если условие не задавать
ну или как-то так поскольку ни внутренним соединением ни другими экспериментами не страдаю

а вот текст запроса который кладет сервер а в файловой исполняется за 7 секунд

ВЫБРАТЬ
Продажи.Количество КАК Количество,
Продажи.Контрагент,
Продажи.Номенклатура,
Продажи.ХарактеристикаНоменклатуры,
ВложенныйЗапрос.ОбъектСсылка,
ВложенныйЗапрос.Поле1 + ВложенныйЗапрос.Поле2 + ВложенныйЗапрос.Поле3 КАК Поле1,
Продажи.МоментВремени,
РеализацияТоваровУслугТовары.Ссылка КАК Ссылка1,
РеализацияТоваровУслугТовары.Цена
ИЗ
РегистрНакопления.Продажи КАК Продажи
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
КонтактнаяИнформация.Поле1 КАК Поле1,
КонтактнаяИнформация.Поле2 КАК Поле2,
КонтактнаяИнформация.Поле3 КАК Поле3,
КонтактнаяИнформация.Объект.Ссылка КАК ОбъектСсылка,
КонтактнаяИнформация.Объект.Представление КАК ОбъектПредставление1
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация) КАК ВложенныйЗапрос
ПО Продажи.Контрагент.Ссылка = ВложенныйЗапрос.ОбъектСсылка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ПО Продажи.Регистратор = РеализацияТоваровУслугТовары.Ссылка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО Продажи.ХарактеристикаНоменклатуры.Ссылка = ЗначенияСвойствОбъектов.Объект.Ссылка

если только меня не развели вчера и не запускали что-то ещё параллельно, позже всё рано как будет время выясню в чем дело
27 alkov
 
02.10.12
14:51
(6) А работать в одной БД с разных серверов предприятия, которые друг про друга не в курсе, не опасно? Всякие блокировки-шмокировки, не?
28 acsent
 
02.10.12
14:58
это п..ц а не запрос
29 prog01
 
02.10.12
15:59
(28)это не мой
30 ptiz
 
02.10.12
16:11
(26) вот это мощно
31 Живой Ископаемый
 
02.10.12
17:28
2(27) Если для оналитега задать дату границы редактирования как 31.12.2025 года то в общем не опасно.
но тут уже нужно смотреть
32 Lexusss
 
02.10.12
17:33
(26)
- Подсудимый, расскажите, как и за что вы человека убили?
- Да что тут рассказывать, ваша честь. Сидим мы значит, пульку расписываем. Я захожу в пичку, свидетель сбрасывает пичку, а потерпевший ее козырьком - хлоп! И тут же в пичку заходит...
- Да мать твою, совсем обнаглел! Да за это же канделябром надо!
- Вот-вот, ваша честь. Потому-то я и здесь...
33 prog01
 
03.10.12
10:05
вот новый перл мне выслали вместо ТЗ на написание отчета, типа посмотреть...


ВЫБРАТЬ
Общий.Контрагент,
Общий.Телефон,
СУММА(Общий.Количество) КАК Количество,
Общий.Цена,
Общий.ЗначениеСвойства,
Общий.ХарактеристикаНомекнлатуры
ИЗ
(ВЫБРАТЬ РАЗЛИЧНЫЕ
 ЗначенияСвойствОбъектов.Значение КАК ЗначениеСвойства,
 ЗначенияСвойствОбъектов.Свойство КАК Свойство,
 ЗначенияСвойствОбъектов.Объект КАК Объект,
 Продажи.Период КАК Период,
 Продажи.Номенклатура КАК Номенклатура,
 Продажи.ХарактеристикаНоменклатуры КАК ХарактеристикаНомекнлатуры,
 Продажи.Стоимость КАК Стоимость,
 Продажи.Количество КАК Количество,
 Продажи.Контрагент КАК Контрагент,
 РеализацияТоваровУслугТовары.Цена КАК Цена,
 КонтактнаяИнформация.Поле1 + КонтактнаяИнформация.Поле2 + КонтактнаяИнформация.Поле3 КАК Телефон
ИЗ
 РегистрНакопления.Продажи КАК Продажи
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   ПО ЗначенияСвойствОбъектов.Объект = РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры
  ПО Продажи.ХарактеристикаНоменклатуры = ЗначенияСвойствОбъектов.Объект
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
  ПО Продажи.Контрагент = КонтактнаяИнформация.Объект) КАК Общий

СГРУППИРОВАТЬ ПО
Общий.Контрагент,
Общий.Телефон,
Общий.Цена,
Общий.ЗначениеСвойства,
Общий.ХарактеристикаНомекнлатуры
34 prog01
 
03.10.12
10:11
прикольно что доподлинно неизвестно что он должен делать но факт что он за минуту не выдает результатов а дольше я не жду )))
35 ptiz
 
03.10.12
10:13
(33) не уступает первому варианту по красоте запроса
36 prog01
 
03.10.12
10:33
(35)а уйле... - руководитель проекта писал )))
37 ptiz
 
03.10.12
10:34
(36) Может руководитель он и хороший, но какого черта лезет в запросы, в которых ничего не понимает?
38 Lexusss
 
03.10.12
12:16
(33) Конструктор запросов портит людей...
39 prog01
 
04.10.12
10:09
(38)ну если ума не хватает на каждом этапе конструирования и для каждого подзапроса смотреть на время исполнения и количество возвращаемых записей то это не конструктор портит это кухарка управляет государством
Программист всегда исправляет последнюю ошибку.