Долго выполняется запрос при добавлении условия
Здравствуйте!
Создал новый внешний отчет со следующим запросом:
В таком виде запрос выполняется быстро, но стоит добавить условие Остатка (не равно 0, больше 1 и т.д.) запрос выполняется очень долго.
Можете подсказать в чем тут дело?
Спасибо!
Создал новый внешний отчет со следующим запросом:
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Валюта КАК Валюта,
ЦеныНоменклатурыСрезПоследних.Регистратор.Дата КАК РегистраторДата,
ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК НоменклатураНаименование,
ЦеныНоменклатурыСрезПоследних.Номенклатура.Производитель КАК НоменклатураПроизводитель,
ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК НоменклатураАртикул,
ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииКонечныйОстаток
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ПО
ТоварыНаСкладахОстатки.Номенклатура.Наименование = ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование
ПоказатьВ таком виде запрос выполняется быстро, но стоит добавить условие Остатка (не равно 0, больше 1 и т.д.) запрос выполняется очень долго.
Можете подсказать в чем тут дело?
Спасибо!
По теме из базы знаний
- Правила запроса. Выдержки из книги "Настольная книга 1С:Эксперта по технологическим вопросам"
- Тюнинг производительности запросов в PostgreSQL
- Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Пример пошагового решения проблемы производительности на базе Postgres SQL с картинками
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)Тут сразу две грубых ошибки: Не указана дата остатков, и не указана дата среза для регистра сведений. К тому же имеет смысл сделать временную таблицу из регистра и во втором условии в параметры виртуальной таблице добавить условие Номенклатура В (ВремТаблицаРС). Соединение по наименованию крайне не оптимально - соединять надо по номенклатуре (ссылка). Еще хорошо бы добавить условие по складу, если он есть. В общем наложить макисмальное количество условий, только не в ГДЕ, а в параметрах виртуальных таблиц.
а вот это что за бред?
ПО
ТоварыНаСкладахОстатки.Номенклатура.Наименование = ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование
для особо тугих По ...Наименование = ...Наименование !!!
товарищ, автор, вообще не понимает что такое объекты, элементы, ссылки ???
на этом фоне, вот это
вообще цветочками выглядит.
вообще Регистратор.Дата ---> это Период регистра (как правило)
ПО
ТоварыНаСкладахОстатки.Номенклатура.Наименование = ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование
для особо тугих По ...Наименование = ...Наименование !!!
товарищ, автор, вообще не понимает что такое объекты, элементы, ссылки ???
на этом фоне, вот это
ЦеныНоменклатурыСрезПоследних.Регистратор.Дата КАК РегистраторДата,
вообще цветочками выглядит.
вообще Регистратор.Дата ---> это Период регистра (как правило)
(8)
Это связь между двумя таблицами при объединении, должны же быть указаны столбцы сопоставления?
Регистратор.Дата мне выдает дату последнего изменения цены, вроде работает как мне нужно)
По ...Наименование = ...Наименование !!!
Это связь между двумя таблицами при объединении, должны же быть указаны столбцы сопоставления?
вообще Регистратор.Дата ---> это Период регистра (как правило)
Регистратор.Дата мне выдает дату последнего изменения цены, вроде работает как мне нужно)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот