Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Очень тормозит ТП (число прочтений - 2990 )
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Очень тормозит ТП
10. Ноября 2010 :: 13:02
Печать  
Доброе время суток.
В прямых запросах не очень силен как и в ТП. Но что-то пытаюсь делать с помощью конструкторов и т.п.
Есть запрос, который очень сильно тормозит альтернативный журнал документов.

вот текст
ТекстЗапроса = "
                 |SELECT Журнал.IDDOC as [Док $Документ]
                 |      , Журнал.IDDOCDEF as Док_вид                  
                 |      , Журнал.DOCNO as Номер
                 |      , (Журнал.CLOSED & 1) as Проведен
                 |      , Журнал.ISMARK as ПометкаУдаления
                 |      , Журнал.DATE_TIME_IDDOC as ДатаВремяИдДок
                 |      , Журнал.DATE_TIME_IDDOC as ID
                 |FROM (SELECT Журнал.IDDOC as Документ
                 |      FROM $Документ.РасходнаяНакладнаяТ AS РасходнаяНакладнаяТ
                 |      FULL OUTER JOIN _1SJOURN AS Журнал ON РасходнаяНакладнаяТ.IDDOC = Журнал.IDDOC
                 |      FULL OUTER JOIN $Документ.РасходнаяБух AS РасходнаяБух ON РасходнаяБух.IDDOC = Журнал.IDDOC
                 |      FULL OUTER JOIN $ДокументСтроки.ВводДолгов AS ВводДолговСтроки ON ВводДолговСтроки.IDDOC = Журнал.IDDOC
                 |      WHERE " + ?(ПустоеЗначение(ВыбФирма) = 1, "", "(Журнал.$ОбщийРеквизит.Фирма = :ВыбФирма) AND ") + "
                 |            ((($РасходнаяНакладнаяТ.ПризнакНакладной = $Перечисление.ПризнакРасх.Продажа)
                 |            AND ($РасходнаяНакладнаяТ.Клиент = :ВыбКлиент))
                 |            OR
                 |            (($РасходнаяБух.ПризнакНакладной = $Перечисление.ПризнакРасхБух.РасходнаяБух)
                 |            AND ($РасходнаяБух.Клиент = :ВыбКлиент))
                 |            OR
                 |            ($ВводДолговСтроки.Клиент = :ВыбКлиент))
                 |      GROUP BY Журнал.IDDOC) as Подзапрос
                 |LEFT OUTER JOIN _1SJOURN AS Журнал ON (Подзапрос.Документ = Журнал.IDDOC)
           |";

Может кто посоветует, как можно ускорить (оптимизировать) мой запрос?
  
Наверх
ICQ  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Очень тормозит ТП
Ответ #1 - 10. Ноября 2010 :: 13:28
Печать  
А какой журнал ты хочешь в итоге получить?
  
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Очень тормозит ТП
Ответ #2 - 10. Ноября 2010 :: 13:31
Печать  
Из написанного не очень понятно, что хочется получить.
Наличие OR в запросе может приводить к тормозам.
  
Наверх
 
IP записан
 
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: Очень тормозит ТП
Ответ #3 - 10. Ноября 2010 :: 13:35
Печать  
Leierkastenmann писал(а) 10. Ноября 2010 :: 13:31:
Из написанного не очень понятно, что хочется получить.
Наличие OR в запросе может приводить к тормозам.

Три типа документов по определенному клиенту
  
Наверх
ICQ  
IP записан
 
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: Очень тормозит ТП
Ответ #4 - 10. Ноября 2010 :: 13:37
Печать  
Два дока РасходнаяНакладнаяТ и РасходнаяБух, реквизит Клиент в шапке дока + у документов должен быть определенный признак, а тип дока ВводДолгов, клиент из ТЧ, т.е. если есть Клиент в ТЧ, то показать док ВводДолгов
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Очень тормозит ТП
Ответ #5 - 10. Ноября 2010 :: 13:38
Печать  
А случаем нет графы отбора, соответствующей клиенту?
  
Наверх
 
IP записан
 
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: Очень тормозит ТП
Ответ #6 - 10. Ноября 2010 :: 13:41
Печать  
Leierkastenmann писал(а) 10. Ноября 2010 :: 13:38:
А случаем нет графы отбора, соответствующей клиенту?

Есть в конфигураторе графа отбора по клиенту для этих доков.
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Очень тормозит ТП
Ответ #7 - 10. Ноября 2010 :: 13:43
Печать  
Тогда выкинуть весь этот подзапрос страшный и заменить его на соединение с таблицей _1scrdoc, childid там это iddoc, parentval - клиент в виде строка 23, mdid - ид графы отбора.
  
Наверх
 
IP записан
 
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: Очень тормозит ТП
Ответ #8 - 10. Ноября 2010 :: 13:50
Печать  
Leierkastenmann писал(а) 10. Ноября 2010 :: 13:43:
Тогда выкинуть весь этот подзапрос страшный и заменить его на соединение с таблицей _1scrdoc, childid там это iddoc, parentval - клиент в виде строка 23, mdid - ид графы отбора.


а вот как? не силен я в самостоятельном написании запросов, я все через конструктор делаю
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Очень тормозит ТП
Ответ #9 - 10. Ноября 2010 :: 13:55
Печать  
Как-то так
Код
Выбрать все
	ТекстЗапроса = "
	|SELECT Журнал.IDDOC as [Док $Документ]
	|	, Журнал.IDDOCDEF as Док_вид
	|	, Журнал.DOCNO as Номер
	|	, (Журнал.CLOSED & 1) as Проведен
	|	, Журнал.ISMARK as ПометкаУдаления
	|	, Журнал.DATE_TIME_IDDOC as ДатаВремяИдДок
	|	, Журнал.DATE_TIME_IDDOC as ID
	|FROM  _1SJOURN AS Журнал (nolock)
	|JOIN	_1SCRDOC as ГрафыОтбора (nolock)
	|ON		ГрафыОтбора.chilid = Журнал.iddoc
	|		and
	|		ГрафыОтбора.mdid = $ГрафаОтбора.Клиент
	|where	ГрафыОтбора.parentval = :ВыбКлиент*";
 



признаки расходных накладных я правда повыкидывал  Улыбка, а у на них нет графы отбора?
  
Наверх
 
IP записан
 
Anatol
Senior Member
****
Отсутствует


тыц, пыц, тыц!!!

Сообщений: 412
Зарегистрирован: 24. Апреля 2009
Re: Очень тормозит ТП
Ответ #10 - 10. Ноября 2010 :: 13:57
Печать  
и добавить условие по виду документов...
  
Наверх
wwwICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Очень тормозит ТП
Ответ #11 - 10. Ноября 2010 :: 14:01
Печать  
Anatol писал(а) 10. Ноября 2010 :: 13:57:
и добавить условие по виду документов...


Если нужно, то можно и добавить.
  
Наверх
 
IP записан
 
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: Очень тормозит ТП
Ответ #12 - 10. Ноября 2010 :: 14:10
Печать  
Leierkastenmann писал(а) 10. Ноября 2010 :: 13:55:
Как-то так
Код
Выбрать все
	ТекстЗапроса = "
	|SELECT Журнал.IDDOC as [Док $Документ]
	|	, Журнал.IDDOCDEF as Док_вид
	|	, Журнал.DOCNO as Номер
	|	, (Журнал.CLOSED & 1) as Проведен
	|	, Журнал.ISMARK as ПометкаУдаления
	|	, Журнал.DATE_TIME_IDDOC as ДатаВремяИдДок
	|	, Журнал.DATE_TIME_IDDOC as ID
	|FROM  _1SJOURN AS Журнал (nolock)
	|JOIN	_1SCRDOC as ГрафыОтбора (nolock)
	|ON		ГрафыОтбора.chilid = Журнал.iddoc
	|		and
	|		ГрафыОтбора.mdid = $ГрафаОтбора.Клиент
	|where	ГрафыОтбора.parentval = :ВыбКлиент*";
 



признаки расходных накладных я правда повыкидывал  Улыбка, а у на них нет графы отбора?


Спасибо, получилось!!! на счет признаков. Как их можно добавить?
У всех доков разные виды типов. Т.е. в одном - это одно перечисление, в другом - другой вид перечисления в третем вообще нет типа
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Очень тормозит ТП
Ответ #13 - 10. Ноября 2010 :: 14:19
Печать  
С условиями на вид документов почти все прелести графы отбора прахом пойдут...  Печаль
  
Наверх
 
IP записан
 
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: Очень тормозит ТП
Ответ #14 - 10. Ноября 2010 :: 14:22
Печать  
Leierkastenmann писал(а) 10. Ноября 2010 :: 14:19:
С условиями на вид документов почти все прелести графы отбора прахом пойдут...  Печаль


Тогда лучше пусть быстрее работает Улыбка))
в принципе в моем случае, не много ненужных доков попадет, лучше я их запрещу открывать.
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать