| 
    
 | 
        Что лучше в запросе: "=" или "В" в соединениях таблиц         | 
☑ | 
    
        | 
    0
    
        Momus    
       
    
    02.09.22 
            ✎
    13:55 
 | 
         
        ИЗ
     Таблица1
     ВНУТРЕНЕЕЕ СОЕДИНЕНИЕ Таблица2
     ПО Таблица1.Измерение1 = Таблица2.Измерение1
     И Таблица1.Измерение2 = Таблица2.Измерение2
     ...
     Таблица1.Измерение9 = Таблица2.Измерение9
 
 или
 
 ИЗ
     Таблица1
     ВНУТРЕНЕЕЕ СОЕДИНЕНИЕ Таблица2
     ПО (Таблица1.Измерение1, Таблица1.Измерение2, ..., Таблица1.Измерение9) В 
     (Таблица2.Измерение1, Таблица2.Измерение2, ..., Таблица2.Измерение9)
 
 Важно, что измерений от 5 и выше. Или есть лучше вариант?     
         | 
 | 
    
    
        | 
    1
    
        Momus    
       
    
    02.09.22 
            ✎
    13:57 
 | 
         
        или подзапрос в секции ГДЕ?     
         | 
 | 
    
    
        | 
    2
    
        Ryzeman    
       
    
    02.09.22 
            ✎
    13:59 
 | 
         
        В теории (0) 1 - правильно, 2 тоже, но может по-другому работать.
 (1) в должен работать дольше. Проще попробовать самому и написать что лучше работает)     
         | 
 | 
    
    
        | 
    3
    
        Конструктор1С    
       
    
    02.09.22 
            ✎
    14:01 
 | 
         
        Первый вариант правильный, второй отстой, индексы полноценно не будет использовать     
         | 
 | 
    
    
        | 
    4
    
        Momus    
       
    
    02.09.22 
            ✎
    14:02 
 | 
         
        (3) меня просто смущают много условий в соединении. На ум приходят только три способа выше.     
         | 
 | 
    
    
        | 
    5
    
        Ryzeman    
       
    
    02.09.22 
            ✎
    14:03 
 | 
         
        (4) Почему? Все измерения индексируются. Если связываешь в том же порядке в котором они в конфигураторе, всё будет работать максимально быстро     
         | 
 | 
    
    
        | 
    6
    
        Momus    
       
    
    02.09.22 
            ✎
    14:04 
 | 
         
        (5) в рекомендациях ИТС написано, что следует избегать использование многих условий в соединениях     
         | 
 | 
    
    
        | 
    7
    
        Kassern    
       
    
    02.09.22 
            ✎
    14:12 
 | 
         
        (6) для этого, в той же УТ11 используются ключи аналитик.     
         | 
 | 
    
    
        | 
    8
    
        Kassern    
       
    
    02.09.22 
            ✎
    14:13 
 | 
         
        Проще говоря, объединяете несколько измерений в одну сущность и уже по ней соединяете таблицы и делаете проводки.     
         | 
 | 
    
    
        | 
    9
    
        Momus    
       
    
    02.09.22 
            ✎
    14:15 
 | 
         
        (8) да, про это я знаю. Но в моем примере я использую типовой регистр накопления без ключей аналитик, в котором 9 измерений. Вот и задался вопросом     
         | 
 | 
    
    
        | 
    10
    
        Конструктор1С    
       
    
    02.09.22 
            ✎
    15:31 
 | 
         
        (6) если переделаешь на (Поле1,Поле2,Поле3) В (ТеЖеПоляДругойТаблицы), то будет только хуже     
         | 
 | 
    
    
        | 
    11
    
        nicxxx    
       
    
    02.09.22 
            ✎
    15:36 
 | 
         
        (5) "Если связываешь в том же порядке в котором они в конфигураторе, всё будет работать максимально быстро". Порядок не важен. Важно лишь наличие индекса со всеми колонками из условия.     
         | 
 | 
    
    
        | 
    12
    
        Momus    
       
    
    02.09.22 
            ✎
    15:37 
 | 
         
        (10) я думал есть еще один вариант) 
 (11) Стоило уйти от покрывающего индекса, как время выполнения запроса увеличилось непростительно сильно. Мне вдруг оказалось второе измерение ненужно(     
         | 
 | 
    
        Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший