Разработка #3150
Ответ сервера Ветис загружать в справочник ВСД_Док
0%
Связанные редакции
Редакция 9bbbe4ff
(Разница(diff))
Ответ сервера Ветис загружать в справочник ВСД_Ответ refs #3150
Редакция 2d7764a7
(Разница(diff))
спр ВСД_Ответ переименован в ВСД_Док
История
#1 Обновлено кб99 Синявский Филипп около 5 лет назад
1. Уменьшает нагрузку на общий журнал документов
2. быстрый поиск ВСД по UUID - индексу
#2 Обновлено кб99 Синявский Филипп около 5 лет назад
- Параметр Статус изменился с Новая на Тестирование
#3 Обновлено кб99 Синявский Филипп около 5 лет назад
Поиск UUID документа выполняется перебором,
индекс в документ добавить нельзя => решение перенести ВСД в справочник, добавить необходимые индексы по ДокОснование и UUID
#4 Обновлено Pentyukhov Sergey около 5 лет назад
kb99 Филипп писал(а):
Поиск UUID документа выполняется перебором,
не заметили никаких напрягов с поиском по UUID. Запросом все возвращается быстро.
Единственный напряг во ВСЕМ данном решении для платформы 1С7.7
это создаваемое огромное количество документов ВСД2(ответ)
Хорошо бы все эти ответы держать в одном документе(но для этого надо половину функционала переписывать).
Это мысли вслух...
#5 Обновлено кб99 Синявский Филипп около 5 лет назад
- аннулировать
- погасить
- возвратить и т.д.
поэтому хранятся они в отдельных объектах.
Но вы можете сделать fork и сделать свои доработки решения...
Скорее всего у вас стоит MS SQL и многие вопросы 1С перекладываются на SQL.
Я бы посоветовал вам посмотреть внимательнее на работу MS SQL - а точнее на не хватающие индексы в таблицах, скорее всего там будет много интересного...
#6 Обновлено кб99 Синявский Филипп около 5 лет назад
Добавлен справочник ВСД_Док - загружаем все, что можно загрузить из XML.
Исходный XML, который получаем от Ветис хранится в реквизите ИмяФайлаXML = в каталоге vd
табличной части в справочнике нет, поэтому добавлен класс ВСД_vetDocument = обертка для работы с XML - туда загружаем таблицы значений из XML
в ВСД_Док нет строк неограниченной длины, все длинные строки и тз - в классе ВСД_vetDocument (загружаем из XML)
#7 Обновлено кб99 Синявский Филипп почти 5 года назад
- Параметр Тема изменился с Ответ сервера Ветис загружать в справочник ВСД_Ответ на Ответ сервера Ветис загружать в справочник ВСД_Док
- Параметр Статус изменился с Тестирование на Завершена
На нагруженной DBF базе 480 тыс записей ВСД2 время загрузки ответа уменьшено с 40,37 сек до 2,66 сек = 15 раз
До
select ДокВСД.iddoc [id $Документ.ВСД2] from [Документ.ВСД2] as ДокВСД where ( ДокВСД.UUID = 'ffd567b4-a351-491f-b090-2035a864fcbd') Подбор индекса для таблицы DH58566: Ограничения: SP58534[UUID]=; Найдено в кэше Индекс не выбран. Стоимость: 9984
После
select ДокВСД.id [id $Справочник.ВСД_Док] from [Справочник.ВСД_Док] as ДокВСД where ( ДокВСД.UUID = 'ce13e405-eb84-452f-a827-2054c2d24d42') Подбор индекса для таблицы SC53779: Ограничения: SP53721[UUID]=; Найдено в кэше Выбран индекс VI53721: UPPER(SP53721)+UPPER(DESCR) Стоимость: 4
Ответ сервера Ветис загружать в справочник ВСД_Ответ refs #3150