|
Вопрос по запросу ОБЪЕДИНИТЬ | ☑ | ||
---|---|---|---|---|
0
ksergey
05.10.18
✎
15:55
|
Добрый день
Платформа 8.3.7 Конфигурация УТ 10.3 SQL сильно дописана Справочник.Номенклатура содержит 4 реквизита значений Артикула: -реквзит Артикул -реквизит АртикулДоп -ТЧ Артикулы.Артикул -ТЧ АртикулыДоп.Артикул Сталкнулся с одной ситуацией, связанной с использованием запроса в поиске товара по артикулу. Пытаясь как-то "ускорить" работу Запроса1 немного переделал его в Запрос2. Есть 2 схожих запроса (через ОБЪЕДИНИТЬ из 4-х источников), в которых выбирается Номенклатура по условию Артикул ПОДОБНО &Отбор где условие отбора Отбор = "%"+стрПоиска+"%"; Запрос1.Текст = " ВЫБРАТЬ Н1.Ссылка КАК Ссылка | ИЗ Справочник.Номенклатура КАК Н1 | ГДЕ Н1.Артикул + ""|"" + Н1.АртикулДоп ПОДОБНО &Отбор | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ Н2.Ссылка | ИЗ Справочник.Номенклатура.Артикулы КАК Н2 | ГДЕ Н2.Артикул ПОДОБНО &Отбор | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ Н3.Ссылка | ИЗ Справочник.Номенклатура.АртикулыДоп КАК Н3 | ГДЕ Н3.Артикул ПОДОБНО &Отбор"; Запрос2.Текст = "ВЫБРАТЬ ПЕРВЫЕ 100 | ВЗ.Ссылка |ИЗ | (ВЫБРАТЬ Н1.Ссылка КАК Ссылка | ИЗ Справочник.Номенклатура КАК Н1 | ГДЕ Н1.Артикул + ""|"" + Н1.АртикулДоп ПОДОБНО &Отбор | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ Н2.Ссылка | ИЗ Справочник.Номенклатура.Артикулы КАК Н2 | ГДЕ Н2.Артикул ПОДОБНО &Отбор | | ОБЪЕДИНИТЬ | | ВЫБРАТЬ Н3.Ссылка | ИЗ Справочник.Номенклатура.АртикулыДоп КАК Н3 | ГДЕ Н3.Артикул ПОДОБНО &Отбор) КАК ВЗ"; Мне не совсем понятны результаты замеров скорости этих запросов. Ниже приведены результаты замера выполнения запросов на базе 1,3млн. записей при различных (по длине) строках поиска артикула: стрПоиска = 51248220072 <--- ПОЛНОЕ СОВПАДЕНИЕ С АРТИКУЛОМ Запрос1: выбрано записей 3 за 1,344 сек Запрос2: выбрано записей 3 за 6,375 сек 5124822007 ===================== Запрос1: выбрано записей 3 за 1, 906 Запрос2: выбрано записей 3 за 4, 625 512482200 ===================== Запрос1: выбрано записей 3 за 1, 796 Запрос2: выбрано записей 3 за 5, 000 51248220 ===================== Запрос1: выбрано записей 3 за 1, 141 Запрос2: выбрано записей 3 за 6, 063 5124822 ===================== Запрос1: выбрано записей 22 за 1, 140 Запрос2: выбрано записей 22 за 4, 626 512482 ===================== Запрос1: выбрано записей 74 за 1, 406 Запрос2: выбрано записей 74 за 5, 016 51248 ===================== Запрос1: выбрано записей 200 за 1, 297 Запрос2: выбрано записей 100 за 3, 969 5124 ===================== Запрос1: выбрано записей 1 410 за 1, 297 Запрос2: выбрано записей 100 за 0,500 512 ===================== Запрос1: выбрано записей 17 304 за 1, 688 Запрос2: выбрано записей 100 за 0,125 51 ===================== Запрос1: выбрано записей 188 826 за 2, 344 Запрос2: выбрано записей 100 за 0,016 5 ===================== Запрос1: выбрано записей 958 206 за 9, 048 Запрос2: выбрано записей 100 за 0,031 1 ===================== Запрос1: выбрано записей 1 333 697 за 11, 016 Запрос2: выбрано записей 100 за 0,016 Вопрос ко всем - объясните почему такое поведение Запрос2 для "длинной" строки поиска? (это результаты из верхней части списка - когда Запрос1 отрабатывает быстрее Запрос2) Заранее благодарен |
|||
1
shuhard
05.10.18
✎
15:58
|
(0)[почему такое поведение]
посмотри запрос на стороне сиквела - узнаешь |
|||
2
Ёпрст
05.10.18
✎
16:21
|
хотя бы все воткнул в объединить, ну и в выбрать первые воткнул упорядочивание
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |