2021-07-29 17:00:03
Задача: чтение данных с диска и отправка email с соблюдением некоторых условий.
Пожалуй, не один из постов не вызывал столь бурную реакцию нашего мини-сообщества Досталось и мне, за отсутствие точного ТЗ, и порочной концепции реализации функционала в БД.
"Чувствую, что автор просто совета просит)) " - это запомнилось особенно.
Ну и хорошо, юмор помогает жить
Решение:
Как я уже много раз писал, любую задачу можно решить разными способами.
Особо прозорливые подписчики уже догадались, что задачка была не просто так задана. Да, одним из способов её решения являются как раз те самые
конвейерные или pipelined-функции.
Кратко: по ходу обработки каждой строки по конвейеру мы можем выполнять различные манипуляции и отправлять "условный email", не ожидая загрузки всего объема входных данных из 10М. Подробное объяснение, смотрите в видео-уроке из прошлого поста.
Многообразие систем, решений и Legacy-кода огромно. Возможно, на очередном месте работы вы встретитесь именно с таким методом работы с данными и внешними системами.
Все больше занимаясь разработкой на среднем слое, я лично для себя понял, что такого рода задачи должны решаться именно в приложениях среднего слоя. Подход с жирной серверной логикой в БД, взаимодействие с внешним миром из БД - устаревает. Тема холиварная ))
Кстати, в сентябре будет запуск курса “Oracle PL/SQL.Основы”. Материал готов Скоро будет анонс. Кому интересно - ничего не планируйте на сентябрь-ноябрь
Всем хорошего дня!
#решениезадачи #функции #pipelined
531 views14:00