Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Тормозит функция ВыбратьПоЗначению 7.7
|
|||
|---|---|---|---|
|
#18+
Всем добрых суток. Стоит 7.7 релиз 27 самописная, стоят гибкие блокировки Софтпоинта+Система мониторинга производительности. Недели 3 назад началась интересная проблема, ночные операции (выполняются в 6 утра) перестали завершаться. Стали копать выяснили при помощи монитора, что долго выполняется Док.ВыбратьПоЗначению(ДатаНачала,,"ЛДоговор",ДЛ); (не только конкретно эта, но и еще несколько с отборами) количество чтений больше 20 миллионов записей, первая идея что слетел индекс, начали копать, но в ручном режиме не удалось воспроизвести. В любом случае еженедельно делается перестройка индексов и пересчет статистики, но это не помогло. Подумали, что проблема монопольного режима так как гибкие блокировки в этом режиме не запускаются и возможно при монопольном режиме используется другой индекс, переделали на запуск не монопольно, но проблема сохранилась. Пытаюсь получить запрос профайлером, запрос вроде получаю, но он для меня не совсем понятный и не возвращает данные. declare @p1 int set @p1=-1 declare @p2 int set @p2=0 declare @p5 int set @p5=4098 declare @p6 int set @p6=8193 declare @p7 int set @p7=0 exec sp_cursorprepexec @p1 output,@p2 output,N'@P1 int,@P2 char(23),@P3 char(23),@P4 char(23)',N'Select JOURN.* from _1SJOURN JOURN(NOLOCK INDEX=ACDATETIME), _1SCRDOC CRDOC(NOLOCK INDEX=PARENT) where JOURN.DATE_TIME_IDDOC=CRDOC.CHILD_DATE_TIME_IDDOC and CRDOC.MDID=@P1 and CRDOC.PARENTVAL=@P2 and CRDOC.CHILD_DATE_TIME_IDDOC>=@P3 and CRDOC.CHILD_DATE_TIME_IDDOC<=@P4 order by CRDOC.MDID, CRDOC.PARENTVAL, CRDOC.CHILD_DATE_TIME_IDDOC',@p5 output,@p6 output,@p7 output,9462,'B1 5JF 1IPBRL ','17530101 0 0 ','99991230FHML6O 0 ' select @p1, @p2, @p5, @p6, @p7 Запрос получаю через событие RPC: Completed возможно я что-то не так делаю или кто-то уже сталкивался с подобной проблемой. возможно нужно удалить конкретные индексы и пересоздать их снова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 03:41 |
|
||
|
Тормозит функция ВыбратьПоЗначению 7.7
|
|||
|---|---|---|---|
|
#18+
Кому интересно нашел интересную вещь. Сравниваю 2 вызова процедуры. Одну с гибкими блокировками, вторую при вызове монопольно. Софтпоинт проводит оптимизацию своего запроса отключая использование стандартных индексов и сделав order by только по CRDOC.CHILD_DATE_TIME_IDDOC, не знаю насколько работает быстрее, но в принципе можно попробовать написать пару запросов и сравнить. Возможно кому то пригодиться. exec sp_cursorprepexec @p1 output,@p2 output,N'@P1 int,@P2 char(23),@P3 char(23),@P4 char(23)',N'Select JOURN.* from _1SJOURN JOURN(NOLOCK INDEX=ACDATETIME), _1SCRDOC CRDOC(NOLOCK INDEX=PARENT) where JOURN.DATE_TIME_IDDOC=CRDOC.CHILD_DATE_TIME_IDDOC and CRDOC.MDID=@P1 and CRDOC.PARENTVAL=@P2 and CRDOC.CHILD_DATE_TIME_IDDOC>=@P3 and CRDOC.CHILD_DATE_TIME_IDDOC<=@P4 order by CRDOC.MDID, CRDOC.PARENTVAL, CRDOC.CHILD_DATE_TIME_IDDOC' ,@p5 output,@p6 output,@p7 output,9462,'B1 5JF 1IPBRL ','20080303 0 0 ','99991230FHML6O 0 ' exec sp_cursorprepexec @p1 output,@p2 output,N'@P1 int,@P2 char(23),@P3 char(23),@P4 char(23)',N'Select JOURN.* from _1SJOURN JOURN(NOLOCK) , _1SCRDOC CRDOC(NOLOCK) where JOURN.DATE_TIME_IDDOC=CRDOC.CHILD_DATE_TIME_IDDOC and CRDOC.MDID=@P1 and CRDOC.PARENTVAL=@P2 and CRDOC.CHILD_DATE_TIME_IDDOC>=@P3 and CRDOC.CHILD_DATE_TIME_IDDOC<=@P4 order by CRDOC.CHILD_DATE_TIME_IDDOC /*Softpoint SQL2005 CRDOC optimization*/' ,@p5 output,@p6 output,@p7 output,9462,'B1 5JF 1IPBRL ','20080303 0 0 ','99991230FHML6O 0 ' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2012, 07:42 |
|
||
|
Тормозит функция ВыбратьПоЗначению 7.7
|
|||
|---|---|---|---|
|
#18+
Frog_i, Тоже пытаюсь "укротить" это запрос. А как избавится от явного указания индексов в запросе. Я так понимаю, в том числе и из за них оптимизатор выбирает не самый лучший план запроса? Или как то по-другому "разрулили" проблему быстродействия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2012, 18:21 |
|
||
|
Тормозит функция ВыбратьПоЗначению 7.7
|
|||
|---|---|---|---|
|
#18+
Ivan ProshechkinFrog_i, Тоже пытаюсь "укротить" это запрос. А как избавится от явного указания индексов в запросе. Я так понимаю, в том числе и из за них оптимизатор выбирает не самый лучший план запроса? Или как то по-другому "разрулили" проблему быстродействия? http://www.forum.mista.ru/topic.php?id=614846 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2012, 19:22 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=37969274&tid=1520172]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 291ms |
| total: | 460ms |

| 0 / 0 |
