Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Перечисление в запросах

Перечисление в запросах
Я
   25-11
 
02.10.16 - 17:20
Никто не интересовался, как 1С работает с перечислениями при их использовании в запросе?
Как с "обычной" таблицей, т.е. использование в запросе через точку означает вложенный запрос для каждой записи?
 
 
   mehfk
 
1 - 02.10.16 - 17:27
   25-11
 
2 - 02.10.16 - 17:29
»
   GROOVY
 
3 - 02.10.16 - 17:35
И куда ты через точку в перечислении полезешь?
   и тут и там
 
4 - 02.10.16 - 17:41
(0) перечисление это не просто таблица. этот таблица с исключительно строковыми типами данных для элементов. какие вложенные запросы?
   25-11
 
5 - 02.10.16 - 17:42
Я имею ввиду, понятное дело, как в 1C-ное "через точку" транслируется в  SQL-ный запрос. Другими словами, если в запросе выводится что типа Объект.ПолеПеречисление, 
то имеет ли смысл для повышения эффективности дополнительное соединение
Объект.ПолеПеречисления = Пернечисление.Ссылка
   25-11
 
6 - 02.10.16 - 17:45
Просто я довольно часто встречал, что так не делается. Возможно 1С-овский транслятор в SQL отличает Перечисление от Справочника?
   25-11
 
7 - 02.10.16 - 17:46
Потому как для справочников культурные люди не ленятся присоединить в запрос лишнюю таблицу. А вот для Перечислений - не всегда...
   Dotoshin
 
8 - 02.10.16 - 17:55
(6) Ну посмотри в профайлере, в какой запрос перечисление транслируется, потом на форуме расскажешь, чтобы все  
знали...
   25-11
 
9 - 02.10.16 - 18:13
(8) Ну вот я и спрашиваю, возможно, кто-то это исследование уже выполнил? Я сам не слищком уверенно владею такими инструментами, эксперимент потребует довольно много времени.
   25-11
 
10 - 02.10.16 - 18:14
Хотя если любопытство окончательно одолеет, то разберусь и о результатах расскажу.
 
 Рекламное место пустует
   Dotoshin
 
11 - 02.10.16 - 18:15
(9) Ну вот тут http://www.develplatform.com/2013/02/sql.html
кто то выполнил некоторые исследования.
   25-11
 
12 - 02.10.16 - 18:27
(11) Ага, значит всё-таки механизм хранения перечисления отличен от справочников... По-видимому именно поэтому эффективность от неприсоединения не пострадает.
   mistеr
 
13 - 02.10.16 - 18:28
(0) Если ты про конструкцию вида

ГДЕ Таблица.Поле = ЗНАЧЕНИЕ(Перечисление.ИмяПеречисления.ЗначениеПеречисления)

то никакого обращения к таблице перечисления не происходит. Если про что-то другое, то приводи текст запроса.
   25-11
 
14 - 02.10.16 - 18:41
(13) И про это тоже, спасибо. А в еще более простом случае?

ВЫБРАТЬ
    СписаниеСРасчетногоСчета.Ссылка,
    СписаниеСРасчетногоСчета.ВидОперации
ИЗ
    Документ.СписаниеСРасчетногоСчета КАК СписаниеСРасчетногоСчета

В таком запросе имеет смысл присоединять таблицу 

ВидыОперацийСписаниеДенежныхСредств
   25-11
 
15 - 02.10.16 - 18:44
Последнее предложение - это вопрос, а не утверждение. Вопросительный знак случайно не допечатал.
   Mauser
 
16 - 02.10.16 - 18:47
(15) Зачем
   25-11
 
17 - 02.10.16 - 18:47
(16) И
   Mauser
 
18 - 02.10.16 - 18:50
Любое действие подразумевает результат
от этого зависит надо или нет
что ты ожидаешь
   25-11
 
19 - 02.10.16 - 18:52
Будет ли запрос выполняться быстрее?
   Mauser
 
20 - 02.10.16 - 18:52
Например надо ли тебе порядок
   Mauser
 
21 - 02.10.16 - 18:54
(19) нет так как ты запрашиваешь дополнительные данные
   mistеr
 
22 - 02.10.16 - 18:56
(14) В таблице перечисления, кроме ссылки, только одно поле - Порядок. Присоединять ее имеет смысл, только если тебе нужен этот порядок. Ссылка у тебя и так есть. А больше ничего из этой таблицы не получишь.
   Mauser
 
23 - 02.10.16 - 18:57
(22) можно получить блокировку
ну на всякий извращенный случай
   25-11
 
24 - 02.10.16 - 18:59
Ну да, из статьи в (11) я это понял. Само наименование (значение) извлекается каким-то иным образом, не так в справочнике.
   GROOVY
 
25 - 02.10.16 - 20:23
Прикольная тема. Этакий бредовый эталон. Соединения, блокировки... У таблицы перечисления...


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует