|   |   | 
| 
 | долгий запрос | ☑ | ||
|---|---|---|---|---|
| 0
    
        JIeoIIoJIbD 12.09.13✎ 11:00 | 
        Доброго времени суток , подскажите как переписать запрос, чтобы по-быстрее работал ?
 Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ПОМЕСТИТЬ Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка В ИЕРАРХИИ | (ВЫБРАТЬ | УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы.НоменклатурнаяЦеноваяГруппа | ИЗ | Документ.УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателей.НоменклатурныеЦеновыеГруппы КАК УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы | ГДЕ | УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы.Ссылка = &ДокПроверки) | И Номенклатура.ЭтоГруппа = ЛОЖЬ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.НоменклатурнаяГруппа В | (ВЫБРАТЬ | УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы.НоменклатурнаяЦеноваяГруппа | ИЗ | Документ.УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателей.НоменклатурныеЦеновыеГруппы КАК УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы | ГДЕ | УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы.Ссылка = &ДокПроверки) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СчетНаОплатуПокупателюТовары.Ссылка КАК СчетНаОплату, | СчетНаОплатуПокупателюТовары.Номенклатура |ИЗ | Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары |ГДЕ | СчетНаОплатуПокупателюТовары.Номенклатура В | (ВЫБРАТЬ | РегНакНом.Ссылка | ИЗ | Номенклатура КАК РегНакНом)" ; | |||
| 1
    
        palpetrovich 12.09.13✎ 11:03 | 
        Документ УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателей какие-то движения по какому-то регистру делает? да - делай запрос к нему     | |||
| 2
    
        palpetrovich 12.09.13✎ 11:06 | 
        да и последняя часть запроса почему не 
 выбрать ССылка из Номенклатура, СчетНаОплатуПокупателюТовары.Ссылка левоесоединение Документ.СчетНаОплатуПокупателю.ТоварыК АК СчетНаОплатуПокупателюТовары по СчетНаОплатуПокупателюТовары.Номенклатура = ССылка ps и названия ВТ - Номенклатура - как-то некошерно :) | |||
| 3
    
        Fragster модератор 12.09.13✎ 11:11 | 
        (0) добавь индекс в первой таблице     | |||
| 4
    
        Мыш 12.09.13✎ 11:15 | 
        Такие синонимы "УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы" портят зрение.     | |||
| 5
    
        JIeoIIoJIbD 26.09.13✎ 13:11 | 
        (2) если я правильно понял, то вы имеете ввиду 
 ВЫБРАТЬ НМНКЛТР.Ссылка ИЗ Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары ЛЕВОЕ СОЕДИНЕНИЕ НМНКЛТР КАК НМНКЛТР ПО СчетНаОплатуПокупателюТовары.Ссылка = НМНКЛТР.Ссылка при такой записи я успел покурить и выпить чаю, пока запрос выполнился ))) дело не тут, а в самом начале - долго выполняется кусок | Номенклатура.Ссылка |ПОМЕСТИТЬ Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура как быть, знающие люди, подскажите | |||
| 6
    
        Cyberhawk 26.09.13✎ 13:15 | 
        "долго выполняется кусок" - на глаз определил?     | |||
| 7
    
        JIeoIIoJIbD 26.09.13✎ 13:16 | 
        (6) покоцал запрос на куски     | |||
| 8
    
        MadHead 26.09.13✎ 13:28 | 
        Первым делом нужно заменить вложенные запросы на временную таблицу и проиндексировать поле по которому накладывается условие.     | |||
| 9
    
        JIeoIIoJIbD 26.09.13✎ 13:29 | 
        ВЫБРАТЬ
 Номенклатура.Ссылка ПОМЕСТИТЬ НМНКЛТР ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ ТипыЦенПоГруппамНоменклатурыДляПокупателей.НоменклатурнаяЦеноваяГруппа КАК Номенклатура ИЗ РегистрСведений.ТипыЦенПоГруппамНоменклатурыДляПокупателей КАК ТипыЦенПоГруппамНоменклатурыДляПокупателей ГДЕ ТипыЦенПоГруппамНоменклатурыДляПокупателей.Регистратор = &ДокПроверки) И Номенклатура.ЭтоГруппа = ЛОЖЬ ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.НоменклатурнаяГруппа В (ВЫБРАТЬ ТипыЦенПоГруппамНоменклатурыДляПокупателей.НоменклатурнаяЦеноваяГруппа КАК Номенклатура ИЗ РегистрСведений.ТипыЦенПоГруппамНоменклатурыДляПокупателей КАК ТипыЦенПоГруппамНоменклатурыДляПокупателей ГДЕ ТипыЦенПоГруппамНоменклатурыДляПокупателей.Регистратор = &ДокПроверки) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СчетНаОплатуПокупателюТовары.Ссылка КАК СчетНаОплату, СчетНаОплатуПокупателюТовары.Номенклатура ИЗ Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары ГДЕ СчетНаОплатуПокупателюТовары.Номенклатура В (ВЫБРАТЬ РегНакНом.Ссылка ИЗ НМНКЛТР КАК РегНакНом) на данный момент запрос выглядит следующим образом , выполняется 5 - 6 секунд | |||
| 10
    
        GRAF_84 26.09.13✎ 13:52 | 
        Не проверял, но должен выполняться быстрее.
 ВЫБРАТЬ УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы.НоменклатурнаяЦеноваяГруппа ПОМЕСТИТЬ ВТ_НоменклатурныеЦеновыеГруппы ИЗ Документ.УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателей.НоменклатурныеЦеновыеГруппы КАК УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы ГДЕ УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы.Ссылка = &ДокПроверки СГРУППИРОВАТЬ ПО УстановкаТиповЦенПоГруппамНоменклатурыДляПокупателейНоменклатурныеЦеновыеГруппы.НоменклатурнаяЦеноваяГруппа ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Номенклатура.Ссылка ПОМЕСТИТЬ Номенклатура ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ ВТ_НоменклатурныеЦеновыеГруппы.НоменклатурнаяЦеноваяГруппа ИЗ ВТ_НоменклатурныеЦеновыеГруппы КАК ВТ_НоменклатурныеЦеновыеГруппы) И Номенклатура.ЭтоГруппа = ЛОЖЬ СГРУППИРОВАТЬ ПО Номенклатура.Ссылка ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.НоменклатурнаяГруппа В (ВЫБРАТЬ ВТ_НоменклатурныеЦеновыеГруппы.НоменклатурнаяЦеноваяГруппа ИЗ ВТ_НоменклатурныеЦеновыеГруппы КАК ВТ_НоменклатурныеЦеновыеГруппы) СГРУППИРОВАТЬ ПО Номенклатура.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СчетНаОплатуПокупателюТовары.Ссылка КАК СчетНаОплату, СчетНаОплатуПокупателюТовары.Номенклатура ИЗ Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары ГДЕ СчетНаОплатуПокупателюТовары.Номенклатура В (ВЫБРАТЬ РегНакНом.Ссылка ИЗ Номенклатура КАК РегНакНом) | |||
| 11
    
        Нуф-Нуф 26.09.13✎ 13:54 | 
        подзапросы во временную таблицу и индексом. во временной таблице Номенклатура добавить индекс     | |||
| 12
    
        JIeoIIoJIbD 26.09.13✎ 15:36 | 
        (10) спасибо добрый Человек , еще добавил к Вашему решению отбор по дате и все получилось как нельзя лучше . Спасибо     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |