• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Оптимизация работы с ТЗ

  • Автор темы Hryv
  • Дата начала
Статус
Закрыто для дальнейших ответов.
H

Hryv

Есть две ТЗ
Они, можно сказать, связаны один-к-многим
При формировании печатной формы идет перебор строк ТЗ1 и для каждой ее строки надо получить все строки ТЗ2 совпадающие по этому реквизиту.

Можно, конечно каждый раз перебирать все строки ТЗ2 и выполнять сравнение, но это как-то некрасиво и будет тормозить при больших таблицах

Как это можно оптимизировать?

PS путем сортировки нельзя
 
P

puh14

Если совпадающих строк больше одной - то кроме перебора ничего нету. Тз.Найти() находит тебе первый и на этом усё.
 
K

KiR

А по НайтиЗначение() тоже не катит?
 
P

puh14

а нафиг две ТЗ, может лучше один запрос? ;-)

или если так уж приперло, внешняя функция в запросе.
 
H

Hryv

а нафиг две ТЗ, может лучше один запрос? ;-)

или если так уж приперло, внешняя функция в запросе.

Вот в соседней ветке пытаюсь решить этот вопрос
Сейчас ТЗ1 формируется запросом, а ТЗ2 через
Рег.ВыбратьДвижения();
Пока Рег.ПолучитьДвижение() = 1 Цикл
...
 
K

KiR

а зачем ты результаты запроса выгружаешь в ТЗ? ведь сразу в цикле можно обрабатывать их...
 
H

Hryv

KiR, долго объяснять и к сути вопроса это значения не имеет, так как не повлияет на число проходов по втрой таблице
 
P

puh14

Объясни идею что надо - что за структура регистра, какие данные нужно вытащить, есть ли обращения к другим регистрам. Покажи тот запрос что у тебя есть.
 
H

Hryv

Сейчас напишу в ветке про запрос
 
V

vbs

PS путем сортировки нельзя
Тогда может быть так :
Выгрузить ТЗ32 в ТЗ33, последнюю отсортировать по необходимой колонке, найти в ней первое нужное значение и перебирать ее, пока оно совпадает
 
P

puh14

Выгрузить ТЗ32 в ТЗ33, последнюю отсортировать по необходимой колонке, найти в ней первое нужное значение и перебирать ее, пока оно совпадает

Да - так катит! надо только колонки привестив соответствие и будет работать.
 
P

puh14

Ааа - а я подумал объеденить две таблицы и уже их мучать.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!