|
вопрос к профессионалам по поводу запросов | ☑ | ||
---|---|---|---|---|
0
Plastilin
11.09.11
✎
18:58
|
Уважаемые профи, подскажите пожалуйста какую конструкцию лучше использовать для увеличения быстродействия?
1) ВЫБОР КОГДА (НЕ РегистрУчетЗаявок.Регистратор.Ставка = ЗНАЧЕНИЕ(Справочник.Ставки.ПустаяСсылка)) ТОГДА ПРЕДСТАВЛЕНИЕ(РегистрУчетЗаявок.Регистратор.Ставка) ИНАЧЕ ПРЕДСТАВЛЕНИЕ(РегистрУчетЗаявок.Регистратор.Ставка2) КОНЕЦ 2) или же производить отбор в выборке результатов запроса |
|||
1
Лефмихалыч
11.09.11
✎
19:00
|
(0) для увеличения быстродействия все отборы надо всовывать в запрос. Но отбор из приведенного тобой первого варианта надо сжечь в доменной печи и ни когда ни кому не показывать - он скорости не добавит
|
|||
2
Plastilin
11.09.11
✎
19:01
|
подскажите пожалуйста как построить конструкцию!!
|
|||
3
Лефмихалыч
11.09.11
✎
19:09
|
(2) я телепатические способности забыл в кармане штанов, которые сейчас в стиральной машине бултыхаются и в результате слабо вижу, что там у тебя за регистр и какую цель ты преследуешь запросом
|
|||
4
Plastilin
11.09.11
✎
19:14
|
регистратор - документ в котором присутствуют 3 поля..нужно выбрать данные одного из них.то которое заполнено.остальные пустые.
к примеру это поля ставка1,ставка2,ставка3 одно поле тип- справочник,2 других тип- перечисление |
|||
5
Лефмихалыч
11.09.11
✎
19:17
|
(4) зачем тебе регистр вообще? Ты из него еще что-то получать хочешь? Что мешает сразу из таблицы документа выбирать данные?
|
|||
6
Plastilin
11.09.11
✎
19:20
|
ну мне подсказали что с регистров данные быстрее вытаскиваются чем с таблиц документов.потому я при провожу документ по регистру.потом в нужных местах таскаю с него данные.
в моем случае допустим хранится информация только в одном из 3х полей.нужно вытащить инфу из того , которое заполнено |
|||
7
Plastilin
11.09.11
✎
19:21
|
не судите строго я новичок.потому многое непонятно.соответсвенно ищу помощи у профессионалов.
|
|||
8
Лефмихалыч
11.09.11
✎
19:22
|
(6) тебе подсказали сказочную куиту. Короче, или ты всю задачу целиком выкладываешь, или ни кто тебе не поможет
|
|||
9
IamAlexy
11.09.11
✎
19:22
|
(1) чем тебе запрос то непонравился? задача - вывести первую ставку, если она незаполнена то вторую... вот ты бы как сделал ?
|
|||
10
Лефмихалыч
11.09.11
✎
19:24
|
(9) ты на (6) посмотри. Ему просто документы нужны, а не регистр. Кроме того, если в регистре несколько регистраторов, то конструция Регистратор.Ставка породит фигову гору ненужных соединений
|
|||
11
Plastilin
11.09.11
✎
19:25
|
задача выбрать данные одного(заполненного)поля из трех,которые присутсвуют в документе
|
|||
12
iamnub
11.09.11
✎
19:25
|
(1)
"для увеличения быстродействия все отборы надо всовывать в запрос." В таком виде - это высказывание ложно. |
|||
13
Plastilin
11.09.11
✎
19:31
|
так.единственное что понял что можно использовать таблицы документов.Регистратор всего один..
|
|||
14
Plastilin
11.09.11
✎
19:34
|
может все таки кто нибудь меня просветит?
|
|||
15
Злобный Фей
11.09.11
✎
19:36
|
(14) Делай запрос к документам, без регистров.
|
|||
16
Plastilin
11.09.11
✎
19:42
|
это уже я понял. а как эффективнее организовать выборку?в самом запросе или же в переборе результата?
|
|||
17
МихаилМ
11.09.11
✎
19:46
|
задача отображения данных
посему должна обрабатываться на клиенте субд представление перечислений в бд не хранится сответственно - вариант 3) выборка должна содержать представление только тех данных, которые хранятся в бд |
|||
18
Plastilin
11.09.11
✎
19:53
|
представление я использую чтобы значение сразу вывести в типе строка.
может быть лучше при проведении документа сразу делать выборку того поля и его записывать в регистр?а потом данные из него таскать? |
|||
19
МихаилМ
11.09.11
✎
20:11
|
(18)
почитайте про правила нормализации данных |
|||
20
Plastilin
11.09.11
✎
20:51
|
так как лучше юзать выборку в теле запроса или в его результате?!!!!
приведите хоть небольшой пример как бы вы сами реализовали конструкцию.чтобы знать куда копать |
|||
21
byxtello
11.09.11
✎
21:18
|
делай в выборке, через год заказчик обратится снова и сделаешь ему в запросе :)
|
|||
22
Plastilin
11.09.11
✎
21:20
|
))))))))))
|
|||
23
Plastilin
11.09.11
✎
21:21
|
через год я буду по ту сторону земного шара)
|
|||
24
Plastilin
11.09.11
✎
21:23
|
ребята ну не будьте снобами.вы мне можете подсказать как лучше работать с запросами??я понимаю что у вам неохота отвлекаться по таким пустякам.но ведь все когда нибудь начинали.все черпали информацию.я вот реально тока начинаю и не опыта мало.эхх..
|
|||
25
Fragster
гуру
11.09.11
✎
21:25
|
лучше ставку прямо в регистр запихать, раз уж очень она нужна
|
|||
26
Икогнито
11.09.11
✎
21:26
|
Скажите заодно ответ на глупый вопрос, зачем вместо Остатки.Номенклатура в запросах пишут ПредставлениеСсылки(Остатки.Номенклатура)?
|
|||
27
byxtello
11.09.11
✎
21:26
|
ну как бе все уже написали - без знания структуры данных точного ответа никто не даст.
попробуй сделать запрос по таблице документа и сравни |
|||
28
Plastilin
11.09.11
✎
21:38
|
все такие загадочные..при чем тут представление ссылки???? мне все равно весь результат надо в текстовом виде в итоге предоставить..ВОПРОС КАК СДЕЛАТЬ ВЫБОРКУ ЛУЧШЕ,,,АЛЕ вы че прикалваетесь? вы вопрос вообще читали?
|
|||
29
Plastilin
11.09.11
✎
21:39
|
играете тут в угадай мелодию
|
|||
30
eklmn
гуру
11.09.11
✎
21:42
|
(28) ты думаешь тут есть спецы? )) тебе кто-то наврал...
|
|||
31
Reaper_1c
11.09.11
✎
21:46
|
(30) +100500
|
|||
32
Plastilin
11.09.11
✎
21:48
|
ну спецы то точно есть.но им плевать..
|
|||
33
Chin
11.09.11
✎
21:51
|
Делай запрос к документам (только проведенным - раз регистр пытаешься заполнять при проведении, то видимо нужны только проведенные документы), а дальше так как задумал:
ВЫБОР КОГДА (НЕ Документ.Ставка1 = ЗНАЧЕНИЕ(Справочник.Ставки.ПустаяСсылка)) ТОГДА ПРЕДСТАВЛЕНИЕ(Документ.Ставка1) КОГДА (НЕ Документ.Ставка2 = ЗНАЧЕНИЕ(Справочник.Ставки.ПустаяСсылка)) ТОГДА ПРЕДСТАВЛЕНИЕ(Документ.Ставка2) ИНАЧЕ ПРЕДСТАВЛЕНИЕ(Документ.Ставка3) КОНЕЦ И не парься - хочешь чтобы быстрее работало (если это конечно очень нужно) сделай эти поля индексируемыми... |
|||
34
Plastilin
11.09.11
✎
22:07
|
спасибо..хоть кто то откликнулся..
|
|||
35
Икогнито
11.09.11
✎
22:09
|
на (26) профи могут ответить?
|
|||
36
eklmn
гуру
11.09.11
✎
22:13
|
(35) что лучше тащить, текст или ссылку?
|
|||
37
Reaper_1c
11.09.11
✎
22:13
|
(35) Чтобы результат содержал строковое представление ссылки. Твой кэп.
|
|||
38
Plastilin
11.09.11
✎
22:17
|
))
|
|||
39
vde69
11.09.11
✎
22:23
|
во первых "ПРЕДСТАВЛЕНИЕ" - это сильно тормозная вещь
во вторых "РегистрУчетЗаявок.Регистратор.Ставка" - это не гуд я-бы сделал вложеный запрос где получам в виде поля Регистратор и потом уже ставил оператор выбора. |
|||
40
Plastilin
11.09.11
✎
22:29
|
Ставка уже в измерении
|
|||
41
Икогнито
11.09.11
✎
22:33
|
(36) Что есть ПредставлениеССылки()?
|
|||
42
Reaper_1c
11.09.11
✎
22:34
|
Это функция!
|
|||
43
Chin
11.09.11
✎
22:36
|
||||
44
Chin
11.09.11
✎
22:40
|
(39) Если требуется вывод результата в отчет - то лучше использовать ПРЕДСТАВЛЕНИЕ.
|
|||
45
Reaper_1c
11.09.11
✎
22:43
|
(44) Это не по пацански - от этого запросы тормозят. Пусть лучше система при выводе каждой строчки табличного документа в базу лазает. Зато запрос летает.
|
|||
46
zyto
11.09.11
✎
22:45
|
(33)Без описания задачи это тоже филькина грамота...
Гораздо лучше писать в регистр уже нужную ставку, а потом брать остатки (или обороты) с группировкой по ставке... ИМХО, без полного текста задания... |
|||
47
Икогнито
11.09.11
✎
22:45
|
(43) спасибо
|
|||
48
Plastilin
11.09.11
✎
22:46
|
#46 так и пришлось делать
|
|||
49
Chin
11.09.11
✎
22:49
|
(45) Сделай вывод в таблицу 5000 строк какого-нибудь справочника с использованием "ПРЕДСТАВЛЕНИЯ" и без и сравни... Сам этим редко пользуюсь - в небольших запросах не критично, но пару раз пришлось использовать.
|
|||
50
Plastilin
11.09.11
✎
22:53
|
там максимум 100 строк будет
|
|||
51
Злобный Фей
11.09.11
✎
23:08
|
(50) Весь сыр-бор из-за 100 строк? С такими объемами хоть в цикле запрос гоняй.
|
|||
53
Plastilin
12.09.11
✎
01:25
|
так дело в том что дальше больше если.когда столкнусь с большими объемами данных.сразу хотелось бы приучиться к грамотным конструкциям кода
|
|||
54
Chin
12.09.11
✎
01:56
|
(53) А если в кратце, а нафига тебе три поля для ставки? Одного не достаточно - и делать при этом запись при проведении документа как предложил zyto в (46) - ведь сам пишешь, что может быть заполнено только одно поле. Если так, то реально никаких ВЫБОР КОГДА не нужно? Или в этом есть какой-то тайный смысл? Или вопрос чисто гипотетический - на будущее?
|
|||
55
Alexandr Puzakov
12.09.11
✎
05:52
|
>>вопрос к профессионалам
а простым скромным специалистам можно на него отвечать? |
|||
56
Alexandr Puzakov
12.09.11
✎
06:00
|
Ладно, раз никто не возражает, я тоже маленько отвечу. Если возникает такая потребность, то можешь смело добавлять в регистр реквизит (желательно индексируемый) Ставка и уже его анализировать в запросе...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |