Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) помогите оптимизировать что бы попасть в индекс (число прочтений - 2262 )
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
помогите оптимизировать что бы попасть в индекс
29. Марта 2010 :: 09:22
Печать  
вот сам запрос и план его выполнения...

подскажите как можно его оптимизировать
что бы задействовать оптимальный индекс

  

_____________.JPG ( 222 KB | Загрузки )
_____________.JPG

КонецЕсли;
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #1 - 29. Марта 2010 :: 09:36
Печать  
Может попробовать условие по виду документа еще?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #2 - 29. Марта 2010 :: 09:38
Печать  
так я ж конкретную одну единственную таблицу цепляю...там никакого другого вида документов не может быть



<добавлено>
хотя попробовал...и о чудо
два запроса
с условием по виддок и без оного
1. 0,28%
2. 99.72%
от общего времени выполнения двух запросов
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #3 - 29. Марта 2010 :: 09:40
Печать  
1. Приведите запрос полностью как он есть в 1с
неизвестно видны ли все условия или нет

2. Убирите Ваши функции даты  (используйте стандартную типизицию 1с) они как минимум увеличивают время выполнения запроса
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #4 - 29. Марта 2010 :: 09:44
Печать  
skom писал(а) 29. Марта 2010 :: 09:38:
так я ж конкретную одну единственную таблицу цепляю...там никакого другого вида документов не может быть

так откуда об этом sql знает ?
sql будет перебирать по journ  все записи а Вам нужно только за
ДокЗаявка

PS так что добавьте условие
iddocdef = $ВидДокумента.ДокЗаявка

PS Также может быть надо исключить из выборки помеченные на удаление ( И может быть непроведенные ) документы.
  
Наверх
 
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #5 - 29. Марта 2010 :: 09:49
Печать  
все все. я выше описал.
добавление условия по виду документов облегчило мой запрос

запрос1+запрос2 = 100%
из них
запрос1 - 0,28%
запрос2 - 99,72%
спасибо...

  

КонецЕсли;
Наверх
ICQ  
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #6 - 29. Марта 2010 :: 09:53
Печать  
а если выборку делать из талицы документа и джойнить потом журнал -  как получится????
быстрее чем в первом варианте
и быстрее ли чем во втором

поменял...с первым запросом разницы никакой...
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #7 - 29. Марта 2010 :: 10:00
Печать  
skom писал(а) 29. Марта 2010 :: 09:53:
а если выборку делать из талицы документа и джойнить потом журнал -  как получится????
быстрее чем в первом варианте
и быстрее ли чем во втором

поменял...с первым запросом разницы никакой...


ms sql умный он сам может внутри себя менять порядок таблиц
при  join если посчитает это нужным.
Поэтому то и важно чтобы статистика была актуальной.
  
Наверх
 
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #8 - 29. Марта 2010 :: 10:06
Печать  
а вот кстати вопрос...по идее в первом варианте запроса
должен был быть задействован индекс Data_Time_IDDoc
а он не сработал....


я кстати и статистику обновлял по двум таблицам
1СДЖОРН и по таблице документа - а все равно не тот индекс и все тут
(это я про первый вариант)
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #9 - 29. Марта 2010 :: 10:17
Печать  
skom писал(а) 29. Марта 2010 :: 10:06:
а вот кстати вопрос...по идее в первом варианте запроса
должен был быть задействован индекс Data_Time_IDDoc
а он не сработал....


я кстати и статистику обновлял по двум таблицам
1СДЖОРН и по таблице документа - а все равно не тот индекс и все тут
(это я про первый вариант)

ТАк документов ДокЗАявка у Вас гораздо меньше чем всего документов за март поэтому
sql и решил что лучше перебрать все докзаявка и к каждому найти запись в журнале по уникальному индексу IdDoc.

Когда же Вы добавили условие по iddocdef картина поменялась.
  
Наверх
 
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: помогите оптимизировать что бы попасть в индекс
Ответ #10 - 29. Марта 2010 :: 10:18
Печать  
skom писал(а) 29. Марта 2010 :: 10:06:
а вот кстати вопрос...по идее в первом варианте запроса
должен был быть задействован индекс Data_Time_IDDoc
а он не сработал....




Оптимизатор считал иначе  Улыбка Вы можете поставить два запроса, один без явного указания индекса, а второй указав индекс Data_Time_IDDoc, сравните планы запросов и увидите должен он был задействовать этот индекс или не должен.
  
Наверх
 
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: помогите оптимизировать что бы попасть в индекс
Ответ #11 - 29. Марта 2010 :: 10:19
Печать  
Z1 - спасибо за объяснения.
теперь все стало ясно.
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать