8.х Помогите ускорить запрос

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем p1379, 7 апр 2011.

  1. TopicStarter Overlay
    p1379
    Offline

    p1379 Опытный в 1С

    Регистрация:
    28 мар 2007
    Сообщения:
    117
    Симпатии:
    0
    Баллы:
    26
    Подскажите пожалуйста как мне ускорить данный запрос,он выполняется очень медлено хотя записей в регистре всего штук 10.
    Тип ПолучательСкидки 3 справочника,договоры,контрагенты,склады.
    Думаю может из за этого так долго выбирает,запрос то элементарный.
    Пытался сделать отбор по типу
    ВЫРАЗИТЬ(ПолучательСкидки КАК Справочник.ДоговорыКонтрагентов)не помогло.Подскажите пожалуйста какие есть варинаты ускорения?

    Код:
    Запрос = Новый Запрос;		
    Запрос.Текст = 
    "ВЫБРАТЬ
    |СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки,
    |СкидкиНаценкиНоменклатурыСрезПоследних.ОграничениеСкидкиНаценки,
    |СкидкиНаценкиНоменклатурыСрезПоследних.ДатаОкончания,
    |СкидкиНаценкиНоменклатурыСрезПоследних.ПолучательСкидки,
    |СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура,
    |ИЗ
    |РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних(, ПолучательСкидки = &СсылкаДоговор) КАК СкидкиНаценкиНоменклатурыСрезПоследних";
    
    
    Запрос.УстановитьПараметр("СсылкаДоговор", Договор);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    
  2. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.772
    Симпатии:
    509
    Баллы:
    204
    Сейчас проверил у себя такой запрос:
    Код:
    ВЫБРАТЬ
    СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки,
    СкидкиНаценкиНоменклатурыСрезПоследних.ОграничениеСкидкиНаценки,
    СкидкиНаценкиНоменклатурыСрезПоследних.ДатаОкончания,
    СкидкиНаценкиНоменклатурыСрезПоследних.ПолучательСкидки,
    СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура
    ИЗ
    РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних(, ПолучательСкидки = &СсылкаДоговор) КАК СкидкиНаценкиНоменклатурыСрезПоследних
    
    Выводит быстро. Не понимаю в чем у вас проблема. В консоли запросов у себя проверьте.
  3. TopicStarter Overlay
    p1379
    Offline

    p1379 Опытный в 1С

    Регистрация:
    28 мар 2007
    Сообщения:
    117
    Симпатии:
    0
    Баллы:
    26
    Я в комплексной делаю,у вас какая конфигурация?
  4. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.772
    Симпатии:
    509
    Баллы:
    204
    УТ 10.3.7.9
  5. TopicStarter Overlay
    p1379
    Offline

    p1379 Опытный в 1С

    Регистрация:
    28 мар 2007
    Сообщения:
    117
    Симпатии:
    0
    Баллы:
    26
    Остается видимо на торговлю переходить.
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    На глаз запрос простой. В торговле используются те же самые регистры.
    Сколько по времени выполняется запрос?

    База файловая или клиент-сервер?
  7. TopicStarter Overlay
    p1379
    Offline

    p1379 Опытный в 1С

    Регистрация:
    28 мар 2007
    Сообщения:
    117
    Симпатии:
    0
    Баллы:
    26
    Запрос выполняется 6,5сек,база файловая.
    Записей в регистре 12шт.
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    А если вообще убрать отбор - время выполнения?

    Я правильно понимаю что вы привели именно время выполнения запроса, а не всего отчета?

    У меня первая (чистая) выборка - 0,188 сек (без отбора), количество записей 1600 шт. База файловая.

    .dt скинуть можете, будет время - постараюсь глянуть.
  9. TopicStarter Overlay
    p1379
    Offline

    p1379 Опытный в 1С

    Регистрация:
    28 мар 2007
    Сообщения:
    117
    Симпатии:
    0
    Баллы:
    26
    да,привел время выполнения запроса.
    у меня Результат = Запрос.Выполнить(); время чистое 6,2сек
  10. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    синтаксически вроде все правильно.. нездоровая шайтан проблема.. попробуйте проверить физическую целостность, а потом полное тестирование и исправление.

    сколько БД весит? компьютер мощный? сколько оперативки?

    у меня например файловая база 2 гига поднимает оперативку до 1,5 гигабайта при открытии документа в 60 тыщ элементов.. теоретически при нехватке оперативки он начинает использовать файл подкачки.. а это обращение к жесткому диску..
  11. TopicStarter Overlay
    p1379
    Offline

    p1379 Опытный в 1С

    Регистрация:
    28 мар 2007
    Сообщения:
    117
    Симпатии:
    0
    Баллы:
    26
    база 1гб,комп 3гб памяти,ладно попробую перенести в торговлю,может там не возникнет такой проблемы.
  12. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    Если Договор будет только типа Справочник.Договора, то попробуйте такой вариант

    Код:
     Запрос = Новый Запрос;		
    Запрос.Текст = 
    "ВЫБРАТЬ
    |СкидкиНаценкиНоменклатурыСрезПоследних.ПроцентСкидкиНаценки,
    |СкидкиНаценкиНоменклатурыСрезПоследних.ОграничениеСкидкиНаценки,
    |СкидкиНаценкиНоменклатурыСрезПоследних.ДатаОкончания,
    |ВЫРАЗИТЬ(СкидкиНаценкиНоменклатурыСрезПоследних.ПолучательСкидки КАК Справочник.ДоговорыКонтрагентов).Ссылка КАК ПолучательСкидки,
    |СкидкиНаценкиНоменклатурыСрезПоследних.Номенклатура,
    |ИЗ
    |РегистрСведений.СкидкиНаценкиНоменклатуры.СрезПоследних(, ПолучательСкидки Ссылка Справочник.ДоговорыКонтрагентов и ПолучательСкидки = &СсылкаДоговор) КАК СкидкиНаценкиНоменклатурыСрезПоследних";
    
    
    Запрос.УстановитьПараметр("СсылкаДоговор", Договор);
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    
  13. TopicStarter Overlay
    p1379
    Offline

    p1379 Опытный в 1С

    Регистрация:
    28 мар 2007
    Сообщения:
    117
    Симпатии:
    0
    Баллы:
    26
    Пробовал так уже,скорость не увеличивается.
  14. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    Проиндексировано ли измерение "ПолучательСкидки"?
    Если нет, то какое по порядку оно в регистре в конфигураторе?
Похожие темы
  1. TODD22
    Ответов:
    27
    Просмотров:
    777
Загрузка...

Поделиться этой страницей