Pantuchi, смотри. Разница между 4 и 27 секунд важна не для твоего кода а для бизнеса.
Спроси бизнес как они хотят?
Вариант где ты в StringBuilder/SQLBuilder делаешь текст запроса - нормальный вариант.
Я так тоже делал. Единственное - проверь на SQL-инжекции вручную до подстановки параметров.
Не знаю как работает оптимизатор MSSQL. Возможно в варианте с хардкодом констант
оптимизатор видел более правильный план чем с bind-variables. Я такой эффект наблюдал
на Oracle.
Да. Это типичная постановка для BigData/ETL. Хуже всего то что твой DSL все равно не покрывает
все потенциально возможно новые инпуты. Поэтому такая задача будет почти всегда в стадии бета-версии.
Бизнес растет и меняется и под него надо постоянно подстраивать DSL. И очередная подстройка
уже может потребовать еще одного слоя абстракций например.
ак я написал в вопросе - мне просто лень включать логирование запросов и проводить анализ того, какие запросы связаны с основным запросом по изменению телефона.
Ты уже несколько раз напомнил всем как тебе лень что-то делать. Зато ты напряг целый форум людей.
Постарайся все таки меньше лениться.
Если обновлять информацию "мимо комплекса" - то будет следующее.
1) Не будет зафиксирован аудит изменений. Тоесть не будет следа модификации телефона. Это плохо
с точки зрения инфобезопасности. Кто будет наказан в этой ситуации - спроси у своего менеджера.
2) Не будут обновлены кеши приложения. UI тоже не будет знать о том что телефон меняется. Что в этот
момент он будет рисовать - это загадка. Зависит от того как UI был написан. Может ничего страшного
и не будет но я-бы советовал ребутнуть всех клиентов и Citrix, и все remote desktops.
3) Обычно в двузвенках модификация таблиц идет через пакет процедур (хранимок или кода
в приложении и изменения атрибутов вызывают автомтические действия). Кроме аудита
может быть еще много чего сделано. Обновления справочников и прочее.
Вообще я не спец в битрикс поэтому надо читать документацию по нему.
Так не делают обычно. Создается одна таблица. И в ней есть поле - CHANNEL_ID.
И туда можно загрузить бесконечное число каналов.
Чтобы с базой работать и из телеграма и из веб-приложения SQLite наверное не подходит.
SQLite это обычно 1 процесс который владеет БД. А для множественных сессий нужно Postgres или MySQL
Ничего не могу сказать. Сорян. Я думал что речь идет о процессах операционки.
Надо читать документацию по этой Elma. Может с ее точки зрения
этот процесс легковесный как корутина и ничего не стоит для системы в целом.