![]() |
![]() |
![]() |
|
v8: Как получить последнюю запись в регистре сведений | ☑ | ||
---|---|---|---|---|
0
PlotNick
18.10.06
✎
13:32
|
Как получить последнюю запись в регистре
ВЫБРАТЬ ПЕРВЫЕ 1 УПОРЯДОЧИТЬ ПО УБЫВ при большом количестве записей работает очень медленно. |
|||
1
asady
18.10.06
✎
13:35
|
(0) какой регистр?
|
|||
2
PlotNick
18.10.06
✎
13:41
|
(1) регистр сведения
|
|||
3
SKrin
18.10.06
✎
13:42
|
(2) срез последних
|
|||
4
PlotNick
18.10.06
✎
14:36
|
(3) Срез последних без структуры, содержащей отбор по измерениям и реквизитам регистра возвращает Неопределено, а у меня значения отбора неизвестны. Мне нужно просто получить последнюю запись регистра, безо всякого отбора.
|
|||
5
asady
18.10.06
✎
14:38
|
(4) кривая задача у Вас товарищ.
Для этого СрезПоследних пользуют обычно. Если оно Вам не подходит, то объяснитесь. Почему? |
|||
6
PlotNick
18.10.06
✎
14:45
|
(5) Я не знаю, почему то ни СрезПоследних() ни ПолучитьПоследнее() не работают - возвращают Неопределено, может потому что регистр подчинен регистратору, а я лапоть?
|
|||
7
PlotNick
18.10.06
✎
14:50
|
(5) А блин... я не просто лапоть, я невнимательный лапоть... СрезПоследних() и ПолучитьПоследнее() работают только для периодических регистров сведений. А у меня регистр не периодический...
|
|||
8
Jolly Roger
18.10.06
✎
14:51
|
(0) Что, вообще, означает "последняя"? По какому параметру последняя?
|
|||
9
х86
18.10.06
✎
14:52
|
СГРУППИРОВАТЬ
МАКСИМУМ |
|||
10
PlotNick
18.10.06
✎
14:54
|
Ну вот собсно теперь сформулируем вопрос грамотно.
Как получить последнюю запись в регистре сведений, непериодическом, подчиненном регистратору. Не зная структуры отбора, просто последнюю запись в регистре. ВЫБРАТЬ ПЕРВЫЕ 1 УПОРЯДОЧИТЬ ПО УБЫВ при большом количестве записей работает очень медленно. Мне нужно это, что-бы показать в отчете конечную дату реальных данных. |
|||
11
PlotNick
18.10.06
✎
14:54
|
(8) Да ни по какому параметру... просто последняя в регистре...
|
|||
12
PlotNick
18.10.06
✎
14:56
|
(9) А чем оно лучше чем ВЫБРАТЬ ПЕРВЫЕ 1 УПОРЯДОЧИТЬ ПО УБЫВ ?
|
|||
13
Фокусник
18.10.06
✎
14:59
|
(11) С какого конца последняя?
|
|||
14
Geza
18.10.06
✎
15:01
|
Приведи запрос который медленно работает
|
|||
15
Jolly Roger
18.10.06
✎
15:03
|
(11) Вы в курсе, товарищьч, что последняя внесенная запись вовсе не обязана находиться в низу таблицы БД?
|
|||
16
Фокусник
18.10.06
✎
15:05
|
(10) что есть "конечная дата реальных данных" если регистр непериодический?
|
|||
17
PlotNick
18.10.06
✎
15:06
|
ВЫБРАТЬ ПЕРВЫЕ 1
ВыходыРекламы.ДатаВыхода КАК ДатаВыхода ИЗ РегистрСведений.ВыходыРекламы КАК ВыходыРекламы УПОРЯДОЧИТЬ ПО ДатаВыхода УБЫВ Как мне его переделать, что-бы не тормозило? |
|||
18
Фокусник
18.10.06
✎
15:08
|
(17) Что бы не тормозило, в общем случае, это нужно чтобы данные уже были (а не рассчитывались в запросе) (: Т.е. как ему(ей) определить последнюю дату, не перебрав предварительно ВСЕ даты?
|
|||
19
Geza
18.10.06
✎
15:09
|
Измерение датыВыхода сделай первым в регистре
|
|||
20
Geza
18.10.06
✎
15:11
|
и вообще напиши структуру регистра и что индексировано в нем
|
|||
21
PlotNick
18.10.06
✎
15:13
|
Вроде бы чуть-чуть удалось сделать быстрее переделав запрос так:
|ВЫБРАТЬ | МАКСИМУМ(ВложенныйЗапрос.ДатаВыхода) КАК ДатаВыхода |ИЗ | (ВЫБРАТЬ | ВыходыРекламы.ДатаВыхода КАК ДатаВыхода | ИЗ | РегистрСведений.ВыходыРекламы КАК ВыходыРекламы | Сгруппировать ПО ДатаВыхода) КАК ВложенныйЗапрос Но даже так медленно, у меня сейчас 85 тыс записей в регистре, через полгода будет раза в три больше, тормозить будет однозначна. |
|||
22
Neco
18.10.06
✎
15:15
|
ДатаВыхода - проиндексирована?
|
|||
23
PlotNick
18.10.06
✎
15:19
|
(22) Ага индексирована
|
|||
24
PlotNick
18.10.06
✎
15:40
|
(22) Я дату выхода проиндексировал но при первом обращении на выполнение запроса все равно уходит секунд 4-6. В последующем запрос выполняется быстрее. Короче бустрее сделать видать ужо никак...
|
|||
25
х86
18.10.06
✎
15:46
|
(24) поставь условия на дату
ГДЕ ВыходыРекламы.ДатаВыхода > &Дата |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |