![]() |
![]() |
![]() |
|
Кто-нибудь интересовался как в SQL реализована виртуальная таблица СрезПоследних? | ☑ | ||
---|---|---|---|---|
0
nbIx
24.12.08
✎
20:14
|
Кто-нить смотрел профайлером или имеет инфу по этой теме?
|
|||
1
vde69
24.12.08
✎
20:18
|
она-же виртуальная :)
ее или совсем нету, или это временная, хотя я думаю, что ее вообще нету |
|||
2
H A D G E H O G s
24.12.08
✎
20:19
|
||||
3
H A D G E H O G s
24.12.08
✎
20:20
|
(1) Виртуальная, шмиртуальная.. Ни о чем не говорит.. Виртуальная таблица остатков - отдельная табличка..
|
|||
4
vde69
24.12.08
✎
20:22
|
(3) не надо путать... там регист физически состоит из нескольких таблиц.
я думаю, что они реализованы в виде ХП, а вот внутри них чего ? |
|||
5
Ненавижу 1С
гуру
24.12.08
✎
20:24
|
||||
6
nbIx
24.12.08
✎
20:24
|
(2) Это я и сам так делал:)) Однако уверен, что на SQL делается не такой запрос.
Так как если представить, что записей по одному набору значений измерений очень много, то этот запрос будет работать уж очень медленно. |
|||
7
H A D G E H O G s
24.12.08
✎
20:29
|
(6)
SELECT #V8TblAli1_Q_000_T_001._Fld54RRef AS f_1, #V8TblAli1_Q_000_T_001._Fld55 AS f_2 FROM ( SELECT _InfoReg53_IR2._Fld54RRef AS _Fld54RRef, _InfoReg53_IR2._Fld55 AS _Fld55 FROM ( SELECT _InfoReg53._Fld54RRef AS _Fld54RRef, MAX(_InfoReg53._Period) AS _MAXPERIOD FROM _InfoReg53 WITH(NOLOCK) GROUP BY _InfoReg53._Fld54RRef ) #V8TblAli1_IR1 INNER JOIN _InfoReg53 _InfoReg53_IR2 WITH(NOLOCK) ON #V8TblAli1_IR1._Fld54RRef = _InfoReg53_IR2._Fld54RRef AND #V8TblAli1_IR1._MAXPERIOD = _InfoReg53_IR2._Period ) #V8TblAli1_Q_000_T_001 |
|||
8
H A D G E H O G s
24.12.08
✎
20:29
|
(6) Плохо
|
|||
9
vde69
24.12.08
✎
20:30
|
(6) физически у регистра 2 таблици
1 - сам регист движений 2 - остатки на конец каждого месяца получение среза последних - это 2 запроса 1 получение остатка на конец месяца (после требуемой даты), из второй таблицы 2 получение всех записей из первой таб за период с требуемой, по конец месяца ну и вычитание весь вопрос именно в оптимизации этого... |
|||
10
Ненавижу 1С
гуру
24.12.08
✎
20:32
|
(9)ты регистр сведений с регистром накопления не путаешь?
|
|||
11
nbIx
24.12.08
✎
20:34
|
(7) Жесть, завтра проверю:))
|
|||
12
vde69
24.12.08
✎
20:34
|
(10) а какая разница? нету ее :)
|
|||
13
Ненавижу 1С
гуру
24.12.08
✎
20:35
|
(12) нах в регистре сведений "остатки на конец каждого месяца" и что это такое кстати?
|
|||
14
H A D G E H O G s
24.12.08
✎
20:36
|
(12) Малыш, ты меня волнуешь ©
:-) |
|||
15
nbIx
24.12.08
✎
20:37
|
(13) Наверно он имеет в виду не остатки, а как раз таблица среза последних на конец месяца.
|
|||
16
vde69
24.12.08
✎
20:38
|
(13) ну кстати было-бы логично, хотя через max вроде то-же логично
(14) у меня скуля дома нету, проверить не начем :) |
|||
17
nbIx
24.12.08
✎
20:38
|
(15) Хотя вряд ли есть такая таблица, иначе 1С каждый месяц предлагала посчитать.
|
|||
18
Ненавижу 1С
гуру
24.12.08
✎
20:39
|
(15) какой смысл в срезе последних именно на конец месяца, чем он лучше другой любой даты? или курсы валют или главбухи изменяются лучше в последний день месяца?
|
|||
19
Ненавижу 1С
гуру
24.12.08
✎
20:41
|
в (5) показана более простая реализация получения данных. минусы: избыточность данных, медленнее изменять данные.
Но так всегда: быстрота чтения данных достигается избыточностью и более медленным внесением изменений |
|||
20
H A D G E H O G s
24.12.08
✎
20:42
|
(18) Вот прям ненавистью к 1С исходит..
P.S. Шутка P.S.S. Не обращайте внимания, я радуюсь, меня разбанили! |
|||
21
nbIx
24.12.08
✎
20:42
|
(18) А чтоб соединять уже с этой таблицей.
Запрос (6) так шустрее работать будет, так как будет меньше записей во вложенных запросах ИМХО. |
|||
22
Балабес
24.12.08
✎
20:44
|
там три таблицы для одного регистра.
с отсутствием общего журнала просто жесть, там такие запросы получаются с перебором всех таблиц документов, что удаленно его скармливать не получается, скл путается в кейсах. приходиться заводить хранимки в базу скл и выгружать выборки в отдельную базу. а можно самому добавлять таблички в 1с базу? 1с плохо не станет? как то сыкотно однако |
|||
23
H A D G E H O G s
24.12.08
✎
20:45
|
Да ладно вам.. СрезПоследних и так шустро работает..
Лучше б про бухгалтерские регистры пофлудили.. |
|||
24
Ненавижу 1С
гуру
24.12.08
✎
20:46
|
(22) с общим журналом конечно было много лучше, особенно его реализацией 7.7
хочется геморою? заведи общий журнал |
|||
25
asady
24.12.08
✎
20:48
|
SELECT
#V8TblAli1_Q_000_T_001._Period AS f_1, #V8TblAli1_Q_000_T_001._Fld10068RRef AS f_2, #V8TblAli1_Q_000_T_001._Fld10069 AS f_3, #V8TblAli1_Q_000_T_001._Fld10070 AS f_4 FROM ( SELECT _InfoReg10067_IR2._Period AS _Period, _InfoReg10067_IR2._Fld10068RRef AS _Fld10068RRef, _InfoReg10067_IR2._Fld10069 AS _Fld10069, _InfoReg10067_IR2._Fld10070 AS _Fld10070 FROM ( SELECT _InfoReg10067._Fld10068RRef AS _Fld10068RRef, MAX(_InfoReg10067._Period) AS _MAXPERIOD FROM _InfoReg10067 WITH(NOLOCK) GROUP BY _InfoReg10067._Fld10068RRef ) #V8TblAli1_IR1 INNER JOIN _InfoReg10067 _InfoReg10067_IR2 WITH(NOLOCK) ON #V8TblAli1_IR1._Fld10068RRef = _InfoReg10067_IR2._Fld10068RRef AND #V8TblAli1_IR1._MAXPERIOD = _InfoReg10067_IR2._Period ) #V8TblAli1_Q_000_T_001 _InfoReg10067 - регистр сведений КурсыВалют |
|||
26
Балабес
24.12.08
✎
20:50
|
(24) да я седня нагемороился без общего журнала, такую жопу соорудил, но зато работает. С другого сервера запускаю хр процедуру в 1с базе, эта процедура заполняет таблицу в соседнюю базу, потом эту таблицу переношу на другой сервер.
|
|||
27
Балабес
24.12.08
✎
20:53
|
я бы вывесил эту простыню по сбору доков сделавших движения сюда, но боюсь меня потом тут забанят
|
|||
28
H A D G E H O G s
24.12.08
✎
21:06
|
(27) 25 см..
|
|||
29
Балабес
24.12.08
✎
21:58
|
(28) смотрю не теряешься, с линейкой на чеку, меришь чужие ....?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |