| 
    
            
         
         | 
    
    
  | 
Соединение физических таблиц | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Мандалай    
     18.10.17 
            ✎
    23:14 
 | 
         
        Добрый день.
 
        Вопрос по логике построения запросов. Корректным ли считается соединение двух физических таблиц, например справочников или документов? Или верным решением все таки будет помещение одной из таблиц во временную, а уже после соединение?  | 
|||
| 
    1
    
        Fragster    
     гуру 
    18.10.17 
            ✎
    23:23 
 | 
         
        в 98% лучше будет соединять таблицы без временных     
         | 
|||
| 
    2
    
        SergTheGreat    
     18.10.17 
            ✎
    23:24 
 | 
         
        (0) Да, корректным.     
         | 
|||
| 
    3
    
        Сергиус    
     18.10.17 
            ✎
    23:27 
 | 
         
        (0)Как же строили запросы раньше, когда временных таблиц еще не было в 1с?     
         | 
|||
| 
    4
    
        Мандалай    
     19.10.17 
            ✎
    10:32 
 | 
         
        Джентльмены, вы это утверждаете из практического опыта тестирования подобных запросов в Profiler`e? Или на основании статьи на ИТС?
 
        (3)Каждый в меру своей испорченности. Да и платформа то развивается. Мне кажется должно быть очевидным, что методы использовавшиеся ранее могут быть не оптимальны в данный момент.  | 
|||
| 
    5
    
        Филиал-msk    
     19.10.17 
            ✎
    10:34 
 | 
         
        (4) Джентльмены это утверждают из знания принципов работы SQL и активной жизненной позиции противоборства дремучей обрядовой религиозной невежественности.     
         | 
|||
| 
    6
    
        VladZ    
     19.10.17 
            ✎
    10:36 
 | 
         
        (0) Что понимается под словом "Корректным"? 
 
        Все, что работает "корректно" является "корректным". С другой стороны, если в данном случае вопрос рассматривается с точки зрения быстродействия - тут нужно смотреть для каждого конкретного случая.  | 
|||
| 
    7
    
        VS-1976    
     19.10.17 
            ✎
    10:36 
 | 
         
        Я вообще не понял зачем физическую таблице загонять в tempdb чтобы потом соединять... это что такой изысканный мазохизм?     
         | 
|||
| 
    8
    
        Тихий омут    
     19.10.17 
            ✎
    10:44 
 | 
         
        (0) От задачи зависит. Насчет 98%, как (1), не скажу, но уже были задачи, когда предварительная выборка данных из физ. таблицы во временную значительно ускоряет работу запроса (на порядкИ) - в основном, когда выполняется пакетный запрос, несколько раз использующий данные этой физ. таблицы     
         | 
|||
| 
    9
    
        Филиал-msk    
     19.10.17 
            ✎
    10:49 
 | 
         
        (8) Только в случае необходимости повторного использования индексов, которые нельзя создать средствами платформы. На файловой также может внезапно привести к удачному кэшированию размазанных по диску данных. Остальное - традиционное обрядовое мракобесие.     
         | 
|||
| 
    10
    
        Сияющий в темноте    
     19.10.17 
            ✎
    11:12 
 | 
         
        если соединегие по неиндексированным полям,то предварительная выборка одной таблицы во временную с индексированием в разы увеличивает скорость выполнения запроса     
         | 
|||
| 
    11
    
        SergTheGreat    
     19.10.17 
            ✎
    15:01 
 | 
         
        (4) Вопрос в топике был про корректность, т.е. про отсутствие явных ошибок или подводных камней в применении соединения физических таблиц. А вот вопрос про оптимальность такого подхода - это уже др. история. Она зависит от поставленной задачи, структуры данных, платформы и СУБД.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |