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