|
Помогите ускорить запрос если возможно
|
Я
|
|
Shur1cIT 03.10.16 - 15:27 | Гружу почти милион строк, при получании строки "Дозировка" запросом ищу его в справочнике и в том числе в аналогах. Пытаюсь понять есть ли возможность убыстрить его работу?
ВЫБРАТЬ
DSM_Дозировки.Ссылка
ПОМЕСТИТЬ ОсновнойПоиск
ИЗ
Справочник.DSM_Дозировки КАК DSM_Дозировки
ГДЕ
DSM_Дозировки.СтрокаПоиска = &СтрокаПоиска
И DSM_Дозировки.ПометкаУдаления = ЛОЖЬ
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ЕСТЬNULL(DSM_ДозировкиАналоги.Ссылка, ОсновнойПоиск.Ссылка) КАК Дозировка
ИЗ
ОсновнойПоиск КАК ОсновнойПоиск
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.DSM_Дозировки.Аналоги КАК DSM_ДозировкиАналоги
ПО ОсновнойПоиск.Ссылка = DSM_ДозировкиАналоги.Дозировка |
cybfyv 1 - 03.10.16 - 15:29 | строки поиска в тз и уже по нему поиск
|
polosov 2 - 03.10.16 - 15:29 | |
Shur1cIT 3 - 03.10.16 - 15:31 | ( 2) к сожалению да, далее если не нашел то мне необходимо создать его и вернуть ссылку,жаль что в запросе невозможно новые объекты создавать... |
cybfyv 4 - 03.10.16 - 15:32 | индекс есть по полю "СтрокаПоиска"?
|
cybfyv 5 - 03.10.16 - 15:33 | а по полю Дозировка?
|
Shur1cIT 6 - 03.10.16 - 15:33 | ( 3) ( 2) можно конечно найти скопом что найдеться, а то что не нашлось вернуть запросом и проствм циклом создавать |
Shur1cIT 7 - 03.10.16 - 15:35 | ( 5) стоит, всеравно долго когда много записей... |
cybfyv 8 - 03.10.16 - 15:36 | уьери временную таблицу
|
piter3 9 - 03.10.16 - 15:36 | избежать дублей необходимо?
|
Shur1cIT 10 - 03.10.16 - 15:39 | ( 9) да дублей много причем из за мусора которое не удаёться убрать, даже отдельную строку поиска пришлось делать дабы хранить там значение ощищеное частично от мусора инаже вообще жесть. |
Димитрий1с 11 - 03.10.16 - 15:41 | ( 0) Выгрузи таблицу в массив и засунт его в запрос. То чего не будет обработай цыклом и создай! |
Shur1cIT 12 - 03.10.16 - 15:47 | ( 11) перед поиском наименование "Дозировка" очищаю от мусора в запросе это не реально, надо гнать цикл по массиву, далее запрос, потом создание того что не нашлось, потом это все дело надо объёденить и упорядочить, потом только грузить сами данные опять же в цикле.... очень много телодвижений думаю долше выйдет |
piter3 13 - 03.10.16 - 15:52 | а нельзя список подготовить сначала,а потом уже думать,что загружать.
|
Cyberhawk 14 - 03.10.16 - 15:53 | "очень много телодвижений думаю долше выйдет" // Думай дальше
|
Shur1cIT 15 - 03.10.16 - 15:54 | ( 13) думал об этом, коли народ говорит что быстрее будет то буду пробывать |
piter3 16 - 03.10.16 - 15:55 | ( 15) с 1 лимоном запросов в цикле почти все будет быстрее) |
Alexor 17 - 03.10.16 - 16:01 | А не проще Левое соединение убрать.
В одном запросе искать Ссылку и Аналог. отсортировать по Аналогу убыванию.
Тогда в выборке по идее первым будет искомый результат.
|
cybfyv 18 - 03.10.16 - 16:07 | ( 17) аналогов может не быть |
Shur1cIT 19 - 03.10.16 - 16:10 | как бы серваку не поплохело милион строк сначало передай во временной таблице , а потом еще столькоже верни,но уже с сылками... хотя можно попытаться на порции поделить, но это опять же время-ресурсы
|
ks_83 20 - 03.10.16 - 16:30 | |
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс